перезапись аргументов в функциях t-sql - PullRequest
0 голосов
/ 10 января 2011

Я поигрался с некоторым кодом и понял, что можно перезаписать аргумент функции t-sql.то есть

create function someFn(@date date) as
begin
if @date is null set @date = getdate()

установит @date в качестве сегодняшней даты, если аргумент был нулевым.

Это имеет смысл, только если t-sql рассматривает свои аргументы как ссылки, а не значения.Я понял, что на самом деле не знаю, что такое правила t-sql для подобных случаев, и надеялся, что кто-нибудь сможет прояснить, что здесь происходит.(Я никогда не вспоминаю, чтобы увидеть какое-либо обсуждение «значение против эталона» в отношении кода t-sql на самом деле…)

Ответы [ 2 ]

1 голос
/ 10 января 2011

@date, с которым вы здесь работаете, является локальным для вашей функции.Вы измените значение в функции, но не повлияет на значение в вызывающем коде.

0 голосов
/ 10 января 2011

Функция должна быть объявлена ​​с возвращаемым значением / типом, а последний статус должен быть оператором возврата.Если ваш последний комментарий возвращает @date, то будет возвращено значение Getdate ().

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