- 3
- 0
- 约7.06千字
- 约 39页
- 2017-07-01 发布于湖北
- 举报
存储过程、游标及其它剖析
存储过程与游标 什么是存储过程? 存储过程是SQL Server编译到单一执行计划的T-SQL的集合。第一次执行存储过程时,该过程被存入内存中的高速过程缓冲区,下一次再调用时就不必重新编译,一个存储过程可以向多个进程提供服务,对每一个服务提供了一个单一的访问点,可以更好地保证规则的与数据完整性。和其它编程语言中的过程一样,它也可以接受参数,可以返回值以表示执行的成功与失败。 使用存储过程的好处 系统存储过程的属性—权限管理 查看系统存储过程原代码 系统存储过程存在系统表Master--syscomments 在查询分析器中可以看到 Exec sp_helptext XXXXX 什么是扩展存储过程 --列出服务器上固定驱动器,以及每个驱动器的可用空间 execute master..xp_fixeddrives --列出当前错误日志的具体内容 EXEC [master].[dbo].[xp_readerrorlog] 存储过程的创建语法 CREATE PROC [ EDURE ] procedure_name [ ; number ]????[ { @parameter data_type }????????[ VARYING ] [ = default ] [ OUTPUT ]????] [ ,...n ] [ WITH????{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] [ FOR REPLICATION ] AS sql_statement [ ...n ] 准备工作: 1)为了每一次都可以执行,在创建之前先写上下面的一段SQL语句,检测是不是已经有了相同名称的存储过程,如果有就删除。Proc_name是要建立的存储过程名,sysobjects是一个系统表,存了所有的系统对象的信息。 if exists (select name from sysobjects where name=proc_name and type=P) drop procedure proc_name go 2)if else 语法 IF Boolean_expression {sql_statement | statement_block} [ELSE {sql_statement | statement_block}] 在每一个段中都要用一对begin end进行语句块的标定。 不使用参数的存储过程 go if exists (select name from sysobjects where name=dbo.up_bian and type=p) drop procedure dbo.up_bian Go create procedure dbo.up_bian as declare @id int set @id=1 while (@id6) begin select * from Employees where EmployeeID=str(@id) set @id=@id+1 End Go dbo.up_bian 使用参数的存储过程(注意缺省值) /* 这里的参数是一个输入存储过程的参数,我们为它设定了一个缺省值,以便在用户忘记了输入时 也可以给出一个答案,不返回出错的信息 */ use northwind go if exists (select name from sysobjects where name=dbo.up_shipper and type=p) drop procedure dbo.up_shipper Go create procedure dbo.up_shipper @ShipperName char(40)=United Package‘ With ENCRYPTION as select requireddate,shippeddate,panyname from orders,shippers where shippeddaterequireddate and orders.shipvia=shippers.shipperid and panyname=@shippername 使用加密后,不能再看原代码 事件探查器也看不到代码 怎样使用参数来调用一个存储过程 CREATE PROCEDURE CustOrdersOrders @CustomerID nchar(5) AS SELECT OrderID, OrderDate, RequiredDate, ShippedDate FROM Orders WHERE
您可能关注的文档
最近下载
- 2021年上海市嘉定区中考英语二模试卷含解析.pdf VIP
- 2025年广东省普通高中学业水平选择性考试生物(详解版).docx VIP
- 宁德市2025-2026学年(上期)高二期末考试数学试卷(含答案).pdf
- 鄂尔多斯职业学院单招《职业适应性测试》真题(达标题)附答案详解.docx VIP
- 2025年四川中科《浅谈肥胖治疗新进展》继续教育习题答案.docx VIP
- 小学三年级数学测量单元试题.docx VIP
- 三菱变频器使用手册-FR-E540 中文版.pdf VIP
- 小升初语文练习题6年级语文.pdf VIP
- 8.1 0—3岁婴幼儿心理发展评价(课件)《0-3岁婴幼儿心理发展与教育》(华东师范大学出版社).pptx VIP
- 《测量》习题3.doc VIP
原创力文档

文档评论(0)