详细实例全面解析SQL存储过程幻灯片.pdfVIP

  • 7
  • 0
  • 约9.03千字
  • 约 11页
  • 2017-06-24 发布于湖北
  • 举报

详细实例全面解析SQL存储过程幻灯片.pdf

详细实例全⾯解析SQL存储过程 存储过程(Stored Procedure),是⼀组为了完成特定功能的SQL 语句,类似⼀门程序设计 语⾔,也包括了数据类 、流程控制、输⼊和输出和它⾃⼰的函数库。存储过程可以 说是⼀个记录集,它是由⼀些T-SQL语句组成的代码块,这些T-SQL语句代码像⼀个 ⽅法⼀样实现⼀些功能 (对单表或多表的增删改查),然后再给这个代码块取⼀个名 字,在⽤到这个功能的时候调⽤他就⾏了。不过SQL存储过程对于⼀些初学者来说还 是⽐较抽象难理解的,因此本⽂将由浅⾄深地剖析SQL存储过程,帮助你学习它。 存储过程的优点 1.存储过程只在创造时进⾏编译,以后每次执⾏存储过程都不需再重新编译,⽽⼀般 SQL语句每执⾏⼀次就编译⼀次,所以使⽤存储过程可提⾼数据库执⾏速度,效率要⽐ T-SQL语句⾼。 2.当对数据库进⾏复杂操作时,可将此复杂操作⽤存储过程封装起来与数据库提供的 事务处理结合⼀起使⽤。 3、⼀个存储过程在程序在⽹络中交互时可以替代⼤堆的T-SQL语句,所以也能降低⽹ 络的通信量,提⾼通信速率。 4 .存储过程可以重复使⽤,可减少数据库开发⼈员的⼯作量。 5.安全性⾼,可设定只有某些⽤户才具有对指定存储过程的使⽤权 存储过程基本语法 创建存储过程 CREATE PROC [ EDURE ] procedure_name [ ; number ] [ { @parameter data_type } [ ARYING ] [ = default ] [ OUTPUT ] ] [ ,...n ] [ WITH { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] [ FOR REPLICATION ] AS sql_statement [ ...n ] 调⽤存储过程 EXECUTE Procedure_name --存储过程如果有参数,后⾯加参数格式为:@参数名 删除存储过程 drop procedure procedure_name --在存储过程中 调⽤另外⼀个存储过程, 创建存储过程的参数 1.procedure_name :存储过程的名称,在前⾯加#为局部临时存储过程,加##为全局 临时存储过程。 2.; number :是可选的整数,⽤来对同名的过程分组,以便⽤⼀条 DROP PROCEDURE 语句即可将同组的过程⼀起除去。例如,名为 orders 的应⽤程序使⽤的 过程可以命名为 order roc;1、order roc;2 等。DROP PROCEDURE order roc 语句将除 去整个组。如果名称中包含定界标识符,则数字不应包含在标识符中,只应在 rocedure_name 前后使⽤适当的定界符。 3.@parameter :存储过程的参数。可以有⼀个或多个。⽤户必须在执⾏过程时提供每 个所声明参数的值 (除⾮定义了该参数的默认值)。存储过程最多可以有 2.100 个参 数。 使⽤ @ 符号作为第⼀个字符来指定参数名称。参数名称必须符合标识符的规则。每 个过程的参数仅⽤于该过程本⾝;相同的参数名称可以⽤在其它过程中。默认情况 下,参数只能代替常量,⽽不能⽤于代替表名、列名或其它数据库对象的名称。有关 更多信息,请参见 EXECUTE 。 4.data_type :参数的数据类 。所有数据类 (包括 text 、ntext 和 image )均可以⽤ 作存储过程的参数。不过,cursor 数据类 只能⽤于 OUTPUT 参数。如果指定的数据 类 为 cursor ,也必须同时指定 VARYING 和 OUTPUT 关键字。有关 SQL Server 提 供的数据类 及其语法的更多信息,请参见数据类 。 说明 对于可以是 cursor 数据类 的输出参数,没有最⼤数⽬的限制。 5.VARYI G :指定作为输出参数⽀持的结果集 (由存储过程动态构造,内容可以变 化)。仅适⽤于游标参数。 6.default : 参数的默认值。如果定义了默认值,不必指定该参数的值即可执⾏过程。 默认值必须是常量或 NULL 。如果过程将对该参数使⽤ LIKE 关键字,那么默认值中 可以包含通配符 (%、_ 、[] 和 [^] )。 7.OUTPUT :表明参数是返回参数。该选项的值可以返回给 EXEC[UTE] 。使⽤ OUTPUT 参数可将信息返回给调⽤过程。Text 、

文档评论(0)

1亿VIP精品文档

相关文档