首页 / MSSQL / SQL Server存储过程简介
SQL Server存储过程简介
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SQL Server存储过程简介,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2144字,纯文字阅读大概需要4分钟。
内容图文
![SQL Server存储过程简介](/upload/InfoBanner/zyjiaocheng/475/7d5a73ac69ff4e43be88c9c8fd83918e.jpg)
存储过程是由一个或多个T-SQL语句组成的语句组,它可以接受输入参数和输出参数且能向调用程序返回多个值;可以调用其他过程;可以向调用程序返回结果状态值以标记执行成功或失败;
使用存储过程的好处
- 减少服务器/客户端网络流量:过程多条命令进行单个批处理执行,只一次网络传输;
- 更强的安全性:防止SQL注入,也可以进行加密处理;
- 代码重复使用:可封装重复的数据库操作;
- 更易维护:更新存储过程脚本可不更新调用的服务端程序;
- 更好的性能:首次执行时会生成执行计划,供后续重复使用;
创建存储过程
存储过程创建语法如下:
USE Database;
GO
CREATE PROCEDURE getStudents
@num int,
@name varchar(32)
AS
DECLARE @condi varchar(32);
SET @condi = @name + ‘%‘;
select top (@num) * from student
where name like @condi;
GO
上述存储过程有两个参数,表示查询以name以@name开头的前@num条记录,如传入@num=10, @name=‘李‘,则会返回前10条学生姓名以‘李’开头的学生记录。
执行存储过程
如果存储过程不带参数: exec proc_name;
如果存储过程带参数,则按方法签名传入参数即可,如上述例子: exec getStudents 10, ‘李‘;
删除存储过程
删除存储过程跟删除数据库、表一样,使用DROP关键字。 如: DROP PROCEDURE getStudents;
修改存储过程
修改存储过程既可以使用alter关键字,也可现将原存储过程删除再新建。 如:
(1)使用Alter:
ALTER PROCEDURE getStudents
AS
select * from student;
GO
(2)先删除再创建:
IF OBJECT_ID(‘getStudents‘, ‘P‘) IS NOT NULL
DROP PROCEDURE getStudents;
GO
CREATE PROCEDURE getStudents
AS
select * from student;
GO
以上两种方式效果一样。
从存储过程中返回数据
存储过程中使用OUTPUT关键字来返回数据。看例子:
IF OBJECT_ID(‘getStudentName‘, ‘P‘) IS NOT NULL
DROP PROCEDURE getStudentName;
GO
CREATE PROCEDURE getStudentName
@name nvarchar(32) OUTPUT
AS
select @name=name from student where name=‘ray‘;
RETURN
GO
改过程将student的name返回给@name变量,调用如下:
DECLARE @RES nvarchar(32);
EXEC getStudentName @name=@res OUTPUT;
PRINT @res;
有时,存储过程OUTPUT参数经常与数据库游标(cursor)结合使用,有关用法请参考.
参考资料
- MSDN
SQL Server存储过程简介
标签:执行 exec char 网络流 关键字 bsp declare lte 资料
本文系统来源:http://www.cnblogs.com/Rayblog/p/6379194.html
内容总结
以上是互联网集市为您收集整理的SQL Server存储过程简介全部内容,希望文章能够帮你解决SQL Server存储过程简介所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。