Sybase儲存過程的使用

2021-06-25 20:02:53 字數 1270 閱讀 4555

:儲存過程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表中。業務成功,則...