SYBASE存储过程
一、存储过程简介
二、存储过程的创建、修改、删除
三、存储过程中的参数、返回值和变量
四、存储过程中的流程控制语言
五、存储过程中的事务、游标
六、ASE存储过程和IQ存储过程的常见区别(附例子)
1 存储过程简介
存储过程(Stored Procedure)是为了完成特定的功能而汇集成一组的SQL语句 集,并为该组SQL语句命名、经编译后 存储在SQL Server的数据库中。用户可以 根据需要决定是 否在每次执行时让SQL Server进行重新编译。用户可以指 定存 储过程的名字和给出参数来执行它。 允许多个用户(有权)访问相同的代码。 提供一种集中且一致的实现数据完整性逻辑的方法。 存储过程用于实现: -- 频繁使用的查询 -- 业务规则 -- 被其他过程使用的公共例行程序,例如错误处理例行程序等
1.1 存储过程的优点
使用存储过程可加快运行速度 可减少网络交通 可重用、可共享性 存储过程也是一种安全机制 使用存储过程实现数据库完整性 提高数据与应用的独立性
1.2 存储过程的分类
系统存储过程主要 系统提供存储过程 用于从系统表中获取信息、为系统管理员和有权用户提供更新系统表 的途径。系统存储 过程的名字都以"sp_"为前缀。 如:sp_help 。 用户定义的存储过 用户定义存储过程 程是由用户为完成某一特定功能 而编写的存储过程。
1.2.1 系统存储过程
在SQL Server安装时自动建立了一些以sp_为前缀的系统存储过程, 这些系统过程通常用来显示或修改系统表它们可为各用户所供享: 例如
2 存储过程的创建、修改、删除
创建存储过程 执行存储过程 查看、修改、删除存储过程 存储过程中的注释
2.1 创建存储过程
create proc procedure_name as begin SQL_statements [return] end
2.1 创建存储过程
存储过程被放在当前正在使用的数据库中。 在存储过程中可以引用在其他数据库中的对象 创建存储过程(create proc)语句不能与其他的SQL语句在同一个批 中,即创建存储过程语句必须单独成为一个批。 在存储过程中可以包含SQL语句,但是不能包含:use, create view, create rule, create default, create proc, create trigger
2.2 执行存储过程
语法: 语法: [exec[ute]] procedure_name [参数]
2.3 查看、修改和删除存储过程
查看用户自建的存储过程:
1> select name from sysobjects where type="P"
2> go
查看存储过程 查看创建存储过程的源代码,使用: sp_helptext procedure_name
1> sp_helptext sp_show_stu
2> go
查看存储过程所依赖的表和视图信息,使用: sp_depends procedure_name 查看存储过程的一般信息,如创建日期等,使用: sp_help procedure_name
2.3 查看、修改和删除存储过程
重新命名存储过程 语法:sp_rename old_name , new_name 语法 例:将已创建的存储过程reports_1改名为reports_1b: exec sp_rename reports_1, report_lb
2.3 查看、修改和删除存储过程
删除存储过程 语法:drop proc procedure_name 语法 例: 删除已创建的存储过程reports: drop proc reports
2.4 存储过程中的注释
SQL Server提供了两种在T-SQL中的注释方法: 使用斜杠星号对/* 注示内容* ?a 使用斜杠星号对/* 注示内容*/ 例如: /*bind the rule to all columns with datatype*/ exec sp_bindrule ul_tid,tid
2.4 存储过程中的注释
使用双连字符?°--?± ?°-?a 使用双连字符?°--?± 例如: --bind the rule to all columns --with datatype tid exec sp_bindrule ul_tid,t