close
系統常常需要按用戶突然而來的要求而調整,但有時候礙於網速或地理位置所限,我們並不希望頻繁的調整系統和部署,加上如果同一套系統有不同版本的話,例如同時有網上版和本機版的,同樣的需求就可能需要調整兩個不同的系統,由於版本的不一,程式語言不一樣,程式員也可能兩個不同的人,這樣除了增加調整時間以外,也增加了代碼錯誤或版本不一致的風險。
為解決這種問題,我們可以把代碼寫到伺服器中,在MS SQL Server 中,這叫「Stored Procedure」,中文好像是「存儲過程」或「預存程序」。Stored Procedure就是把多項指令打包起來,需要調用的時候就隨時調用,不必再次重寫,不管調用它的是什麼語言,它都能按投入跑出預計的結果。加上 SQL 語言是跟數據庫打交道的好朋友,不管主力是哪種語言的開發員都會懂一點點,有着誰都能看懂、誰都能維護的好處,這很有助於同事間的互助互補 ( 就是我休假的時候你可以替我調一下啦~ ),而且只要部署到伺服器就可以了,不必重新部著整個程式也可以讓所有用戶執行到最新的代碼了。
這是 MS SQL存儲過程的 create 寫法,想有反饋的就要標明是「output」:
以下是PB 調用存儲過程和以 FETCH 接收反饋的寫法,要注意調用存儲過程變量的順序必須跟存儲過程裏面定義的一致,也要標明哪些是output,角色(dbo)也要對應:
Execute 後也可以檢查一下 sqlcode 看看有沒有報錯,截圖裏的例子是偷懶了一下下了。
文章標籤
全站熱搜