これでデフォルトのパラメーター値を変更してみました:
ALTER PROCEDURE [dbo].[my_sp]
@currentDate datetime = GETDATE()
そしてSQLプリコンパイラが私に与えたすべてはこのエラーでした:
メッセージ102、レベル15、状態1、プロシージャmy_sp、行8 '('付近の構文が正しくありません。
手順はすでに作成済みです。(それが関連するかどうかはわかりません。)私はnullのデフォルト値を使用し、後でそれをチェックしていましたが、それは適切ではないようです。これを1行で行うことはできますか?
更新:私は、MSDNのストアドプロシージャのパラメーターの説明から離れていました。
[= default]パラメーターのデフォルト値です。デフォルト値が定義されている場合、そのパラメーターの値を指定せずに関数を実行できます。
注:
varchar(max)およびvarbinary(max)データ型を除くCLR関数には、デフォルトのパラメーター値を指定できます。関数のパラメーターにデフォルト値がある場合、関数を呼び出してデフォルト値を取得するときにキーワードDEFAULTを指定する必要があります。この動作は、パラメータを省略するとデフォルト値も含まれるストアドプロシージャで、デフォルト値を持つパラメータを使用する場合とは異なります。
私はこれを間違って読んでいますか?
どうもありがとう。