SQL存储过程返回值

先靠一下自己。

      当我做多了ORACLE时,我就忘了SQL的储存过程可以返回数据集这个事实了。

     。。。。。。。。。。。。。。。。

Create procedure  test

     @t1 int,

     @t2 nvarchar(200) out

as

    set t2='这个是输出参数';

go

 

调用

 declare @out_t2   nvarchar(200);

exec test 1,@out_t2;

select @out_t2;

输出:

 这个是输出参数

------

也可以定义一个接收参数,接收存储过程的成功与否的默认返回值(这会是一个整数,0 是无错误执行,其它数为错误代码!)

declare @val  int;

declare @out_t2   nvarchar(200);

exec @val = test 1,@out_t2;

select @out_t2,@val;

除了这些简单参数,存储过程还可以直接返回一个数据集

 

create table table_2( i_key int,i_value varchar(20));
declare @d int;
set @d=1;
WHILE @d<10
begin
 insert into table_2 select @d+1,cast(@d as varchar(50))+'S';
 set @d = @d+1;
end;

Create procedure  test

     @t1 int

as

    select * from table_2;

go

执行:

exec test 1;

结果,就是table_2表的集合.

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值