- set statistics io on
-
set statistics time on
-
set showplan_text on
-
set nocount on
- /*创建一个不带参数的存储过程*/
-
CREATE PROC STU_ALL
-
AS
-
SELECT * FROM STUDENT
- /*执行这个存储过程*/
-
EXEC STU_ALL
- /*查看所执行存储过程的细节也就是所谓的存储过程是如何创建的*/
-
EXEC sp_helptext STU_ALL
-
-
/*找出选修了课程"数据结构"的所有学生的信息*/
-
CREATE PROC STU_DS
-
AS
-
SELECT *
-
FROM STUDENT
-
WHERE SNO IN (SELECT SNO FROM SC WHERE CNO=(SELECT CNO FROM COURSE WHERE CNAME='数据结构'))
-
-
EXEC STU_DS
-
- /*创建带参数的存储过程,格式如下:
-
CREATE PROCEDURE 存储过程名
- 变更声明(变更名前加@)
-
AS
- SQL 语句
- */
-
/*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
-
-
-
select @num
本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/420257,如需转载请自行联系原作者