/*output的用法:简单一点说就是带有output标识的参数在存储过程中的修改将被保存。
如果不带,那么当存储过程运行结束后,对参数的修改将消失。如果用编程语言来形容的话,
就是类似于值传递参数与地址传递参数一样的方式。这里要注意的是如果要设置output,形参和实参要同时设置(实参可以不写,否则会报以下错误
形参"@SNO" 未声明为OUTPUT 参数,但传递进来的实参请求输出。*/
CREATE PROC STU_SNO(@SNO VARCHAR(10) output)--在写这个参数的时候必须要加括号,否则会报错:超出了存储过程、函数、触发器或视图的最大嵌套层数
AS
SELECT *
FROM STUDENT
WHERE SNO=@SNO
declare @num varchar(10)
set @num='990001'
EXEC STU_SNO @num output--这个output可以不写
select @num--这里只能用select而不能用print,否则是打不出东西的
本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/380291,如需转载请自行联系原作者