close

系統常常需要按用戶突然而來的要求而調整,但有時候礙於網速或地理位置所限,我們並不希望頻繁的調整系統和部署,加上如果同一套系統有不同版本的話,例如同時有網上版和本機版的,同樣的需求就可能需要調整兩個不同的系統,由於版本的不一,程式語言不一樣,程式員也可能兩個不同的人,這樣除了增加調整時間以外,也增加了代碼錯誤或版本不一致的風險。

為解決這種問題,我們可以把代碼寫到伺服器中,在MS SQL Server 中,這叫「Stored Procedure」,中文好像是「存儲過程」或「預存程序」。Stored Procedure就是把多項指令打包起來,需要調用的時候就隨時調用,不必再次重寫,不管調用它的是什麼語言,它都能按投入跑出預計的結果。加上 SQL 語言是跟數據庫打交道的好朋友,不管主力是哪種語言的開發員都會懂一點點,有着誰都能看懂、誰都能維護的好處,這很有助於同事間的互助互補 ( 就是我休假的時候你可以替我調一下啦~     ),而且只要部署到伺服器就可以了,不必重新部著整個程式也可以讓所有用戶執行到最新的代碼了。

這是 MS SQL存儲過程的 create 寫法,想有反饋的就要標明是「output」:

image

 

以下是PB 調用存儲過程和以 FETCH 接收反饋的寫法,要注意調用存儲過程變量的順序必須跟存儲過程裏面定義的一致,也要標明哪些是output,角色(dbo)也要對應:

image

 

Execute 後也可以檢查一下 sqlcode 看看有沒有報錯,截圖裏的例子是偷懶了一下下了。
 

arrow
arrow
    創作者介紹
    創作者 過時程式員 的頭像
    過時程式員

    過時程式員的部落格

    過時程式員 發表在 痞客邦 留言(0) 人氣()