Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Игорь_UUS Member Откуда: г. Екатеринбург Сообщений: 680 |
Добрый день. Есть функция, у которой возвращаемый результат INT: [dbo].[test_function]() Почему-то не получается её использовать напрямую (без объявления переменной) передавая в параметр хранимой процедуры: EXECUTE [test_proc] @TestParam = [dbo].[test_function]() Существуют ограничения? |
31 авг 16, 10:30 [19610756] Ответить | Цитировать Сообщить модератору |
buven Member Откуда: Сообщений: 792 |
Игорь_UUS, А почему не убрать параметр из вызова процедуры, не объявить переменную в самой процедуре и не вызвать функцию уже в самой процедуре, для определения значения параметра? Раз уж в саму функцию вы ничего не передаете... |
31 авг 16, 10:40 [19610823] Ответить | Цитировать Сообщить модератору |
Игорь_UUS Member Откуда: г. Екатеринбург Сообщений: 680 |
buven, потому что процедура имеет общее назначение, а функция играет роль константы |
31 авг 16, 10:42 [19610838] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31780 |
@parameter = value | @variable Далее расшифровка, value - это значение, а @variable - переменная |
||
31 авг 16, 11:07 [19610978] Ответить | Цитировать Сообщить модератору |
buven Member Откуда: Сообщений: 792 |
Таки да, если почитать про синтаксис EXECUTE [ { EXEC | EXECUTE } ] { [ @return_status = ] { module_name | @module_name_var } [ [ @parameter = ] { value | @variable [ OUTPUT ] | [ DEFAULT ] }] [ ,...n ] [ WITH RECOMPILE ] } |
||
31 авг 16, 11:10 [19611000] Ответить | Цитировать Сообщить модератору |
Игорь_UUS Member Откуда: г. Екатеринбург Сообщений: 680 |
Спасибо! Извиняюсь за свою невнимательность! |
31 авг 16, 11:20 [19611066] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |