IT学习联盟

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
IT学习联盟 门户 文章 数据库 查看内容

SQL存储过程返回值

2012-8-18 05:33| 发布者: admin| 查看: 501| 评论: 0

SQL存储过程返回值
 
先靠一下自己。
      当我做多了ORACLE时,我就忘了SQL的储存过程可以返回数据集这个事实了。
     。。。。。。。。。。。。。。。。
Create procedure  test
 
     @t1 int,
 
     @t2 nvarchar(200) out
as  www.2cto.com  
    set t2='这个是输出参数';
go
 
调用
 
 declare @out_t2   nvarchar(200);
 
exec test 1,@out_t2;
 
select @out_t2;
 
输出:
 这个是输出参数
  www.2cto.com  
-----
也可以定义一个接收参数,接收存储过程的成功与否的默认返回值(这会是一个整数,0 是无错误执行,其它数为错误代码!)
 
declare @val  int;
 
declare @out_t2   nvarchar(200);
 
exec @val = test 1,@out_t2;
 
select @out_t2,@val;
除了这些简单参数,存储过程还可以直接返回一个数据集
  www.2cto.com  
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
  www.2cto.com  
as
    select * from table_2;
go
 
执行:
exec test 1;
结果,就是table_2表的集合.
 
 
Archiver|IT学习联盟| 网站地图

Powered by Discuz! X2.5© 2001-2010 世界学习室 大伟制作

GMT+8, 2018-2-25 05:41 , Processed in 0.088727 second(s), 12 queries .