今天需要写sqlserver过程 ,参考一个朋友的blog
http://yaoronghui2005.itpub.net/admin.php?op=editPost&postId=494044
[@more@]2009-11-24 今天编辑一个过程调用
alter procedure p_process @id varchar(10), @v_name varchar(20) output
as
select @v_name=name from t_test t where id = @id;
exec p_process @id='1', @v_name output[雨林木风1]
exec p_process '1', @v_name output //正确写法1
EXEC p_process @id='1', @v_name = @v_name[雨林木风2] out //正确写法2
DECLARE @v_name varchar(200)
set @v_name = ''
EXEC p_process @id='1', @v_name = output
if @v_name <> ''
begin
select * from t_test where name = @v_name;
end
else if @v_name = ''
begin
raiserror('no row found',10,1);
end
[雨林木风1]必须传递参数个数 2,并以 '@name = value' 的形式传递后续的参数。一旦使用了 '@name = value' 形式之后,所有后续的参数就必须以 '@name = value' 的形式传递。
[雨林木风2]过程输出参数
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/450962/viewspace-1029009/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/450962/viewspace-1029009/