stored procedure傳入的變數可能是空?

之前寫過在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的資料內容。

只是個路過的新手,發文有誤請告知。