:儲存過程p_rsgz_jineng_rtn向呼叫者返回乙個儲存在變數@errcode裡的值,這個值被稱為狀態值,它向呼叫者反映儲存過程執行的成敗狀態(三)。
查到了個人**為"0135"員工的技能工資就顯示其歷史紀錄,查不到則顯示一條出錯資訊。
create procedure p_rsgz_jineng_rtn
@c_gerenid char(4)
asdeclare @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
endesle
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的儲存過程也非常普遍
sybase 儲存過程 快取
最近系統公升級,修改了資料庫的表字段,結果出現了問題,試了很久才找到問題,但還是不知道具體的原因。問題如下 sybase資料庫表tcz,應為業務需要,需在表中加乙個自增字段操作如下 1 停止服務程式,不讓其往資料庫寫入資料。2 把原來的表名改為tcz old 3 新建表tcz,裡面增加id自增字段 ...
Sybase 儲存過程GROUP
版本1 if object id dbo.statistics for ang is not null drop procedure dbo.statistics for ang gocreate procedure statistics for ang begin time date as beg...
sybase 儲存過程 示例
表 student 列 student id,name,age,teacher id 表 teacher 列 teacher id,name,age,salary,student num 需求 將性別和年齡符合給定條件的學生,都指派給指定的老師,並將學生的數量,更新到teacher表中。業務成功,則...