Почему ключевое слово DEFAULT разрешено в команде CREATE PROCEDURE - PullRequest
5 голосов
/ 01 февраля 2011

В следующем выражении ключевое слово DEFAULT появляется там, где для параметра определено значение по умолчанию.

CREATE PROCEDURE usp_Test
    @sp_param1 varchar(20) = DEFAULT
AS
    SELECT @sp_param1 AS myTest
;

NULL назначено @ sp_param1.Но Значение по умолчанию должно быть константой или ключевым словом NULL.

Почему ключевое слово DEFAULT допускается в этой ситуации?

1 Ответ

2 голосов
/ 01 февраля 2011

Ключевое слово DEFAULT - это заполнитель того, что вы хотите предоставить, но на самом деле оно даже не равно NULL.Чаще всего встречается в

exec SProcName 2, DEFAULT

Даже если указан 2-й параметр, на самом деле это не значение, а инструкция для использования значения DEFAULT 2-го параметра.

При использованиив самом CREATE PROC он анализируется, но просто обрабатывается как NULL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...