Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Параметр = default и параметр = null - ?  [new]
любитель дефолтов
Guest
Добрый день!
Коллеги, подскажите. В чем разница между объявлением параметра @wer в первом и втором примере и, если разница есть, то как можно таким объявлением пользоваться.
if object_id('dbo.test', 'P') is null
exec ('create procedure dbo.test as return')
go
alter procedure dbo.test
@act int
, @wer int = default
as
set nocount on;
begin
	select @act, @wer
end;
go

if object_id('dbo.test2', 'P') is null
exec ('create procedure dbo.test2 as return')
go
alter procedure dbo.test2
@act int
, @wer int = null
as
set nocount on;
begin
	select @act, @wer
end;
go

exec dbo.test 1
exec dbo.test2 1
go

if object_id('dbo.test', 'P') is not null
drop procedure dbo.test;
go
if object_id('dbo.test2', 'P') is not null
drop procedure dbo.test2;
go
8 авг 11, 10:49    [11084168]     Ответить | Цитировать Сообщить модератору
 Re: Параметр = default и параметр = null - ?  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
BOL
default
Значение параметра по умолчанию. Если значение default определено, процедуру можно выполнить без указания значения соответствующего параметра. Значение по умолчанию должно быть константой или может равняться NULL. Если в процедуре используется параметр с ключевым словом LIKE, он может включать символы-шаблоны %, _, [] и [^].

Примечание.
Значения по умолчанию записываются в столбец sys.parameters.default только для процедур среды CLR. В случае параметров аргументов Transact-SQL этот столбец будет содержать значения NULL.


Сообщение было отредактировано: 8 авг 11, 10:56
8 авг 11, 10:56    [11084221]     Ответить | Цитировать Сообщить модератору
 Re: Параметр = default и параметр = null - ?  [new]
любитель дефолтов
Guest
Спасибо большое, tpg!
То, что ты привел я читал, просто думал может какие "финты ушами" на этом синтаксисе можно сделать.
Все понятно, вопрос закрыт
8 авг 11, 11:33    [11084490]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить