Sybase存储过程的建立和使用(三)

日期: 2009-07-23 作者:lsj 来源:TechTarget中国

  例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!”。 [page]

  总结

  上述四个例子简要介绍了存储过程常用的几种形式,从中我们已经可以领略到它的编程特色以及使用上的灵活性和方便性。

  虽然上述例子在调用存储过程时都是用SQL的批处理语句实现的,但并不意味着这是唯一的方法。例如在存储过程中调用存储过程(即所谓过程嵌套)的现象就很常见。另外,在其它Sybase数据库开发系统 (如PowerBuilder)的 script语句中调用Sybase的存储过程也非常普遍

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

lsj
lsj

相关推荐