加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

SQLSERVER中创建存储过程实例及讲解

(2007-12-22 11:53:34)
标签:

学习公社

存储过程是在SQL服务器上存储的已经过编译的SQL语句组.存储过程在第一次执行时要进行语法检查和编译,编译好的版本存储在过程高速缓存中供后续调 用.存储过程可用于安全机制.假设某用户没有对指定表或视图的使用权限,但它具有使用存储过程的权限,通过执行存储过程,用户仍可以获得对存储过程中的表 或试图的使用权.
(1)创建存储过程和调用存储过程:
创建语法:
CREATE PROCEDURE<过程名>[:版本号]
[@<参数名><参数类型>[=<默认值>][OUTPUT]……]
[WITH RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION]
AS <SQL语句组>
其中:版本号是可选的整数,它用于将有相同名字的存储过程编为不同的组.在执行时可选版本,但创建时一次只能创建一个版本;OUTPUT选项用于给调用者 的值;RECOMPILE为重编译选项.它要求每次执行都要进行对过程重编译和优化,并创建新的查询计划;ENCYPTION为加密选项;

例如:建立并调用一个不带参数的存储过程如下:
CREATE PROCEDURE 全部学生
AS SELECT * FROM 学生
GO
EXEC 全部学生

建立并调用一个带参数的存储过程如下:
CREATE PROCEDURE 学生查询1
@SNAME VARCHAR(8),@SDEPT VARCHAR(20)
AS SELECT * FROM 学生 WHERE 姓名=@SNAME AND 所在系=@SDEPT
GO
EXEC 学生查询1 '张三','计算机系'
或: EXEC 学生查询1 @SNAME='张三',@SDEPT='计算机系'

(2)删除存储过程:
DROP PROCEDURE<存储过程名组>

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有