Kobarin's Development Blog

C#やASP.NET、公開APIなどについての記録です。

ストアドプロシージャーを実行時、パラメータを省略

ストアドプロシージャをC#等から呼び出す際、パラメータを省略したいケースがあります。
例えば、通常は空欄のデータであっても以下のように1行必要です(C#の例)。

cmd.Parameters.Add("@message", SqlDbType.NVarChar).Value = "";

パラメータを省略して実行すると、SQLエラーが発生します。
これを回避するには、以下のように、ストアドプロシージャ内で規定値を与える必要があります。

ALTER PROCEDURE [dbo].[up_XXXXXX]
	@name nvarchar(20) = ''