WEB开发网
开发学院数据库Sybase Sybase数据库中存储过程的建立和使用 阅读

Sybase数据库中存储过程的建立和使用

 2008-05-16 15:11:01 来源:WEB开发网   
核心提示:例4.查到了个人代码为"0135"员工的技能工资就显示其历史纪录,查不到则显示一条出错信息,create procedure p_RsGz_JiNeng_Rtn @c_GeRenId char(4) as declare @ErrCode smallint select @ErrCode=0 if

例4.查到了个人代码为"0135"员工的技能工资就显示其历史纪录,查不到则显示一条出错信息。

        create procedure p_RsGz_JiNeng_Rtn
           @c_GeRenId char(4)
           as
           declare @ErrCode smallint
           select @ErrCode=0
           if exists(select* from RS-LS-GZ-JiNeng
           where GeRenid=@c-GeRenId)
           begin
           select * from RS_LS_GZ_JiNeng
           whrer GeRen_id=@c_GeRenId
           order by RiQi
           return @ErrCode
           end esle
           begin
           select @ErrCode=1
           return @ErrCode
           end

调用存储过程p_RsGz_JiNeng_Rtn:

        declare @GeRenId char(4),@RtnCode smallint
           select @GeRenId="0135"
           select @RtnCode=0
           execute @RtnCode=p_RsGz_JiNeng_Rtn @c_GeRenId=@GeRenId
           if @RtnCode=1
           print"No this one!"

存储过程p_RsGz_JiNeng_Rtn向调用者返回一个存储在变量@ErrCode里的值,这个值被称为状态值,它向调用者反映存储过程执行的成败状态。在本例中,如果查不到指定员工技能工资的任何记录时,就认为"查无此人",返回出错状态值1。否则,返回成功状态值0。

调用过程的批处理语句使用变量@RtnCode存储返回的状态值,一旦检出存储过程p_RsG_ JiNeng_Rtn返回了错误标志(@RtnCode=1),就显示一条信息"No this one!"。

小结

上述四个例子简要介绍了存储过程常用的几种形式,从中我们已经可以领略到它的编程特色以及使用上的灵活性和方便性。虽然上述例子在调用存储过程时都是用SQL的批处理语句实现的,但并不意味着这是唯一的方法。例如在存储过程中调用存储过程(即所谓过程嵌套)的现象就很常见。另外,在其它Sybase数据库开发系统 (如PowerBuilder)的 script语句中调用Sybase的存储过程也非常普遍。

上一页  1 2 3 

Tags:Sybase 数据库 存储

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接