存储过程select赋值
‘壹’ 存储过程中对变量的SELECT赋值返回数据集吗对输出参数赋值呢
存储谈山过程不是用来返回数含橡中据的.应该用函数.如表值如袭类自定义函数:
CREATE FUNCTION dbo.FN_search_gamer(@g_id int)
RETURNS TABLE
AS
RETURN (SELECT g_id,g_name,g_jf FROM gamer WHERE g_id=@g_id)
使用 select * from dbo.fn_search_gamer(1)
存储过程看作命令比较合适.返回数据由function完成
‘贰’ MYsql存储过程里面有select赋值语句时怎么返回只最后结果集
如果对select 返回的结果行都需要拆扰处理,使用游标。
如果只想取得返回多行中旅姿旦的一行,册森使用limit。
‘叁’ Sql server 存储过程中怎么将变量赋值
/*
Sql server 存储过程中怎么将变量赋值
*/
--SQL赋值语句
DECLARE @test1 INT
SELECT @test1 = 111
SET @test1 = 222
--SQL函数赋值,假定count()是自定义函数
DECLARE @test2 INT
SELECT @test2 = COUNT(*) FROM sys.sysobjects
--SQL存储过程赋值,直接传参处理(类似C语言中的指针吗)
IF OBJECT_ID('sp_test') IS NOT NULL DROP PROCEDURE sp_test
GO
CREATE PROCEDURE sp_test(@test INT OUTPUT)
AS
BEGIN
SELECT @test = 999
END
GO
DECLARE @test3 INT
EXEC sp_test @test3 OUTPUT
SELECT @test3
DROP PROCEDURE sp_test
GO
‘肆’ 关于mysql中存储过程select into无法赋值诡异的事情,请大神求教,这是怎么回事
方法是没有问题,可以在insert into 前面加一条select userName ; 用于检查是否正常获取到值。
‘伍’ SQL存储过程中怎样给变量赋值
exec 是执行存储过程的命令,不能作为存储过程名
而且你这个似乎是希望用变量转换成SQL命令,不是这样用法的
‘陆’ sql server 2000 如何把select的值赋给一个变量
直接使用 = 号可以赋值,如图把a列的值赋给变量 @name
需要注意:
1、sql中 使用 declare 声明 变量,变量要以@开头。
2、如果是直接赋值使用set ,如: set @name = 'name'
3、select 子句中赋值,需要注意结果集,如第一个例子中,
select @name = a from a (去除了 id=2的筛选),那么结果集为多条记录
那么@name 接收的值是结果集最后一条记录中 a列的值。
‘柒’ 创建 存储过程 向变量赋值的 SELECT 语句不能与数据检索操作结合使用 求解决!!!
SELECT 语句是不能同时使用赋值和使用数据检索的,只能拆开
‘捌’ 如何获取存储过程中select查询的字段的值
CREATE PROCEDURE族兆AdminLogin
@test1 nvarchar(50) output,
@test1 nvarchar(50) output, --这里还是@test1?答者
@id intAS
BEGIN
SET NOCOUNT ON;
SELECT test1,test2 from td_Test where id=@idif(@@RowCount<1)
begin----1
set @test1='兆举租no'
set @test2='no'
end-----1elsebegin----2@test1=test1@test1=test2 ---------这里@test1=test2??end----2END
GO
‘玖’ mssql 的 存储过程 变量赋值问题
自动生成的id 一般是增量的,所以用提取最大值的方法取的最新ID,
设表TABLE0有字段ID,FIELD1,FIELD2,FIELD3四个字段,这样:
DECLARE @NEWID INT--声明新ID变量
INSERT INTO TABLE0(FIELD1,FIELD2,FIELD3) SELECT FIELD1 FIELD2 FIELD3 FROM TABLE1 WHERE FIELD1='XXXX' .......--插入语句
IF @@ROWCOUNT>0 --如果插入了新行
SET @NEWID=(SELECT MAX(ID) FROM TABLENAME) --给新ID赋值
select @newid as 新ID --使用该变量
‘拾’ 存储过程中有两个select 语句,根据第一个select语句得到的结果集用于第二个select语句的条件控制,
可雹迹肆以用游标州坦的源轿方法:
declare cur_c cursor
for
select column1 from table1
open cur_c
declare @str varchar(max)
fetch next from cur_c into @str
while(@@fetch_status=0)
begin
select * from table2
where table2.column=@str
end
close cur_c
deallocate cur_c