2016-08-25 2 views
0

У меня есть хранимая процедура, которая имеет несколько параметров, требующих объявления при ее выполнении. Я пытаюсь установить способ использования результатов запроса для присвоения значения одному из параметров.SQL 2008 Хранимая процедура с параметрами из SQL Query

Например

EXEC @return_value = [dbo].[usp_Stored_Proc_demo] 
     @tableName = N'tbltesting', 
     @Col1 = N'c1', 
     @Col2 = N'c2', 
     @Col3 = N'c3', 
     @Col4 = (SELECT GETDATE()), 
     @Col5 = N'c5', 
     @Col6 = N'c6', 
     @Col7 = N'v7', 
     @Col8 = N'c8' 

Однако это не работает, или что-нибудь еще я пробовал. Есть ли способ сделать это?

ответ

0

варианты открыты для вас действительно связаны с выполнением предварительного запроса первого, присвоить значение переменной, а затем использовать, чем в вызове sproc:

SELECT @MyVar = Something 
FROM dbo.Somewhere 
WHERE WhatIAmLookingFor = 'AnAnswer' 

EXECUTE dbo.MySproc @MyVar 

Вы не можете присвоить значения параметров рядный, как вы хотите сделать, основываясь на результатах другого запроса. Вы можете сделать что-то, используя динамический SQL, которого я ожидаю, но посоветуйте, если у вас нет действительно сильной причины/необходимости.

Смежные вопросы