一.前言
存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集经编译后存储在数据库中用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它存储过程是数据库中的一个重要对象任何一个设计良好的数据库应用程序都应该用到存储过程总的来说存储过程具有以下一些优点
◆存储过程允许标准组件式编程
◆存储过程能够实现较快的执行速度
◆存储过程能够减少网络流量
◆存储过程可被作为一种安全机制来充分利用
二.系统要求
开发工具Visual StudioNET
数据库管理系统SQL Server (其中包含了示例程序所用到的Pubs数据库)
三.创建一个简单的存储过程
这里我将向大家介绍如何运用Visual StudioNET IDE来创建存储过程运用Visual StudioNET IDE创建存储过程是非常容易和直观的你只要在服务器资源管理器中导向到Pubs数据库并展开节点就会发现包括存储过程在内的各种数据库对象如图所示
在存储过程节点上点击右键便可弹出一个菜单其中包含了新建存储过程的命令新建一个存储过程后IDE中的代码编辑窗口便出现如下所示的代码模板
上面的代码模板符合简化的创建存储过程的语法规则完整的语法规则如下
限于篇幅各个参数的含义在此就不多作介绍了有兴趣的读者可以参考有关SQL Server 数据库管理系统的资料
下面我对该代码模板中的各个语法成分略作介绍CREATE PROCEDURE声明创建一个存储过程后面跟着该存储过程的名称/*……*/中的成分是该存储过程的参数可包括输入参数和输出参数AS关键字后面的内容是该存储过程的主体部分其中是任何数量和类型的包含在存储过程中的SQL语句RETURN关键字表明存储过程结束并能返回整型状态值给调用者下面我们就来创建一个简单的不带参数的存储过程并运用之
创建以上存储过程后保存之保存完毕与该存储过程相对应的节点就会出现在服务器资源管理器中同时请注意代码编辑窗口中的CREATE关键字变为ALTER关键字了该关键字是用于更改任何现有的存储过程的要运行上述存储过程只要点击其节点并在右键弹出菜单中选择运行存储过程运行的结果图示如下
四.创建一个带参数的存储过程
以上我们创建了一个简单的不带参数的存储过程而在实际的应用中往往会用到很多带有参数的存储过程带有参数的存储过程一般是用于更新数据或是插入数据的下面我们可以运用同样的操作方法创建一个带参数的存储过程
在上面的创建存储过程的代码中我们通过在名称前添加一个@标志来声明存储过程的局部变量-参数同时还声明了各个参数的类型确定了各个参数的方向值也即表明该参数是输入型的还是输出型的或者是输入输出型的或者是返回值型的用户通过相应的存储过程名称以及正确有效的参数便可调用该存储过程了还有你可以通过运用OUTPUT关键字在参数中添加输出型的参数具体方法请参考上面的语法规则输出型的参数能返回给调用者相关的信息
上面的存储过程能更新publishers表中相应出版商的信息你可以通过点击该存储过程的节点在右键弹出菜单中选择运行存储过程来执行它一旦执行IDE中便弹出一个输入出版商信息的对话框(如图所示)在该对话框中填入正确有效的更新信息注意pub_id的值在原来的表中必须存在然后点击确定按钮便可更新数据了