5
次の文では、DEFAULTキーワードが表示され、パラメータにデフォルト値が定義されています。CREATE PROCEDUREコマンドでDEFAULTキーワードが許可されるのはなぜですか
CREATE PROCEDURE usp_Test
@sp_param1 varchar(20) = DEFAULT
AS
SELECT @sp_param1 AS myTest
;
@ sp_param1にNULLが割り当てられています。しかし、The default value must be a constant or the NULL keyword.
なぜこの状況でDEFAULTキーワードが許可されていますか?
CREATE PROCが解析する理由を知っていますか? DEFAULTをCREATE PROCに配置することで、どのような価値が得られますか? – bobs
@bobs - 実際に明示的なNULL値を与えずに 'この列はオプションです'と言う別の構文です。 – RichardTheKiwi
今後の校正は、おそらく?すなわち、デフォルトが「NULL」以外のものである型を許可するか? table-valueパラメータの場合、デフォルトは空のテーブルですが、再度 'DEFAULT'キーワードをtable-valueパラメータで使用することはできません! – onedaywhen