第 24 卷 第 3 期
2004 年 9 月
南 京 邮 电 学 院 学 报
Journal of Nanjing University of Posts and Telecommunications
Vol. 24 No. 3
Sep. 2004
文章编号: 1000- 1972( 2004) 03- 0049- 04
收稿日期: 2003-10-12
Sybase 存储过程生成工具的设计与实现
管 有 庆
( 南京邮电学院 网络技术研究中心, 江苏 南京 210003)
摘 要: 通过几个实例介绍 Sybase 存储过程的基本组成, 然 后分析 Sybase 系统表。依据系统表所提供的
信息, 作为生成工具生成存储过程的基础, 最 后给出生成含 SELECT 语句的 存储过程的算法。
关键词: Sybase; 存储过程; 生成工具
中图分类号: TP311 文献标识码: A
Design and Implementation of Stored Procedure
Generating Tool with Sybase
GUAN You-qing
Research Center of Network Technology, Nanjing University of Posts and Telecommunications, N anjing 210003, China
Abstract: In this paper, the components of Sybase stored procedure are introduced through some instances, and infor-
mation is analysed which is provided by some of Sybase catalog, such as sysobjects and syscolumns, on which the gener-
ating tool of Sybase stored procedure is based. At last, the algorithm that generates the stored procedure containing SE-
LECT statement is given.
Key words: Sybase; Stored procedure; Generating tool
1 引 言
Sybase 数据库系统中存储过程和触发器是重要
的数据库对象, 在开发数据库应用系统时使用存储
过程和触发器能充分提高数据库系统的运行效率。
存储过程是由 SQL 语句和控制流语句按照一定的
语法规则构成的语句集合。既具有输入参数供调用
者输入数据, 又具有输出参数将结果返回给调用者。
存储过程大大提高了 SQL 的能力、效率和灵活性,
具体表现在
[ 1~ 3]
:
( 1) 与原始 SQL 语句或批处理中的 SQL 语句的
最大区别在于它是预先编译好的, 并按照所访问的
数据对象的大小、主键和索引等物理存储情况进行
优化, 从而加快执行速度。存储过程存于服务器端,
这样在网上传输的只是调用和最终的执行结果, 减
少了网络上的传输量, 提高了系统性能。
( 2) 可进行数据的合法性检查, 如有非法数据
存在, 将返回出错信息。也能进行业务规则所要求
的各种完整性检查, 以增强数据库的完整性。
( 3) 提供了安全保密机制, 增强了系统的安全
保密性。例如, 假设表的所有者不希望一般用户在
表上直接使用 SQL 语句对表操作, 他可以编写一个
仅查看这个表的某些行或列的存储过程, 然后将存
储过程执行权限授予给一般用户, 这样用户就可以
通过该存储过程访问该表。
( 4) 存储过程将应用、数据源、网络和存取路径
等细节隔离开, 使得非专业人员对于数据库上的数
据访问变得更加方便。例如, 应用可以预先定义一
些含有复杂数据查询和操作的存储过程, 一般用户