美文网首页
SQLServer 存储过程初探

SQLServer 存储过程初探

作者: 罗火火 | 来源:发表于2018-01-12 18:43 被阅读9次

        Sql Server的存储过程是一个被命名的存储在服务器上的Transacation-Sql语句集合,是封装重复性工作的一种方法,它支持用户声明的变量、条件执行和其他强大的编程功能。 

          存储过程相对于其他的数据库访问方法有以下的优点:

                (1)重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。

                (2)提高性能。存储过程在创建的时候就进行了编译,将来使用的时候不用再重新编译。一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率。

                (3)减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。

                (4)安全性。参数化的存储过程可以防止SQL注入式的攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。

        关于具体命令,在PL/SQL之基础篇有介绍,大家可以看看。

        上代码:首先,我用的是mysqlworkbench这款数据库软件,我们在store procedures 下右键,新建一个存储过程

    新建

           进入存储过程编辑界面,编辑我们所需的业务语句:

    存储过程编辑

        其中,“DELIMITER $$”可以不用理解,具体介绍看MySql中 delimiter 详解,在有就是“CREATE DEFINER=`ajb_dev`@`%` PROCEDURE `test1`”表示创建存储过程“test1”,括号里的就是参数,其中“in”代表输入参数,“out”代表输出参数。接下来“BEGIN”,“END”代表存储过程开始与结束,中间代码就是我们的sql语句,用“into”把查询到的数据传给输出参数“out_name”,基本的存储过程就写好了,接下来我们开始看调用。

        调用:

    调用

        我们在查询界面,首先声明传入参数并初始化“set @b='';” ,再使用call调用我们的存储过程,再把查到的数据用select拿出来,结果如下:

    结果

      以上就是一个简单存储过程的写法,其实存储过程是很强大的,不仅可以在存储过程中调用存储过程,还能处理很多复杂操作,具体就不多说了,大家可以自己试着玩一下!

    相关文章

      网友评论

          本文标题:SQLServer 存储过程初探

          本文链接:https://www.haomeiwen.com/subject/azofoxtx.html