之前寫過在stored procedure內部宣告的變數如果是null該怎麼處理,但這次是發現,傳入的時候變數就可能是null,也就是根本不會有那個變數。
當stored procedure寫成共用的時候,多隻程式會去取用這個stored procedure,
但不同的程式會傳入的變數數量不同,卻也不想為了這一兩個變數特別做一個預存程序該怎麼辦?
查了一下資料,只要在傳入變數的定義那邊將變數預設為null即可:
ALTER PROCEDURE [dbo].[Update_WO_NoSub2]
@AID nvarchar(10),
@Num int,
@CID nvarchar(10),
@Remark nvarchar(50)=null
但是,我又不希望他會真的把null存入資料表裡面,這樣我select的時候要再對null做一次isnull的判斷與變換,於是我會在底下又做一次變數的設定:
set @Remark= ISNULL(@Remark, '')
這樣就能避免儲存到null的資料內容。
只是個路過的新手,發文有誤請告知。