Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как передать в ХП аргумент, являющийся выражением ?  [new]
XPEH_FROM_AMOUNT
Guest
Здравствуйте.

Помогите начинающему: есть ХП, она принимает параметр @a int.
Как вызвать её извне с аргументом, который является суммой двух предварительно объявленных переменных ?
declare @k int, @m int
select @k=10, @m=20

exec my_sp @k+@m
exec my_sp (@k+@m)
- ничего не проходит, ошибка на знаке "+".

Ткните носом, плз, на правильный синтаксис. Спасибо.
1 окт 11, 15:56    [11368068]     Ответить | Цитировать Сообщить модератору
 Re: Как передать в ХП аргумент, являющийся выражением ?  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
XPEH_FROM_AMOUNT, просуммируйте до передачи параметра.
1 окт 11, 16:01    [11368088]     Ответить | Цитировать Сообщить модератору
 Re: Как передать в ХП аргумент, являющийся выражением ?  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
XPEH_FROM_AMOUNT,

declare @k int, @m int, @s int;
select @k=10, @m=20, @s=@k+@m;

exec my_sp @s;
Только так.
1 окт 11, 16:02    [11368090]     Ответить | Цитировать Сообщить модератору
 Re: Как передать в ХП аргумент, являющийся выражением ?  [new]
XPEH_FROM_AMOUNT
Guest
kDnZP, iap - ребят, спасибо. Неожиданно как-то... Ну да ладно.
1 окт 11, 16:04    [11368100]     Ответить | Цитировать Сообщить модератору
 Re: Как передать в ХП аргумент, являющийся выражением ?  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
XPEH_FROM_AMOUNT, ну вобще-то можно извратиться, но смысла не вижу:
declare @k VARCHAR(max), @m VARCHAR(max)
select @k='master..', @m='spt_values'
EXEC('EXEC sp_help '''+@k+@m+'''')
1 окт 11, 16:12    [11368121]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить