SQLServer|SQLServer 存储过程初探

Sql Server的存储过程是一个被命名的存储在服务器上的Transacation-Sql语句集合,是封装重复性工作的一种方法,它支持用户声明的变量、条件执行和其他强大的编程功能。
【SQLServer|SQLServer 存储过程初探】存储过程相对于其他的数据库访问方法有以下的优点:
(1)重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。
(2)提高性能。存储过程在创建的时候就进行了编译,将来使用的时候不用再重新编译。一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率。
(3)减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。
(4)安全性。参数化的存储过程可以防止SQL注入式的攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。
关于具体命令,在PL/SQL之基础篇有介绍,大家可以看看。
上代码:首先,我用的是mysqlworkbench这款数据库软件,我们在store procedures 下右键,新建一个存储过程
SQLServer|SQLServer 存储过程初探
文章图片
新建 进入存储过程编辑界面,编辑我们所需的业务语句:


SQLServer|SQLServer 存储过程初探
文章图片
存储过程编辑 其中,“DELIMITER $$”可以不用理解,具体介绍看MySql中 delimiter 详解,在有就是“CREATE DEFINER=`ajb_dev`@`%` PROCEDURE `test1`”表示创建存储过程“test1”,括号里的就是参数,其中“in”代表输入参数,“out”代表输出参数。接下来“BEGIN”,“END”代表存储过程开始与结束,中间代码就是我们的sql语句,用“into”把查询到的数据传给输出参数“out_name”,基本的存储过程就写好了,接下来我们开始看调用。
调用:
SQLServer|SQLServer 存储过程初探
文章图片
调用 我们在查询界面,首先声明传入参数并初始化“set @b='';” ,再使用call调用我们的存储过程,再把查到的数据用select拿出来,结果如下:
SQLServer|SQLServer 存储过程初探
文章图片
结果 以上就是一个简单存储过程的写法,其实存储过程是很强大的,不仅可以在存储过程中调用存储过程,还能处理很多复杂操作,具体就不多说了,大家可以自己试着玩一下!

    推荐阅读