2013-05-31 2 views
1

У меня есть таблица T1 со столбцом 1, где я храню некоторые SQL-запросы в шаблоне «выберите Var1 из T2». Но проблема в том, что когда я помещаю «select A1 из T1», я получаю запрос только в форме строки. Есть ли способ выполнить запросы, хранящиеся в столбце A1, и вернуть значение в переменную ??Выполнение хранимых запросов в таблице и получение значений в переменной

Спасибо за помощь заранее :)

ответ

2

Вы можете динамически создать SQL заявление, а затем запустить, что не повелевать

CREATE TABLE dbo.test89 
(
    Id int, 
    Var1 nvarchar(1) 
) 

INSERT dbo.test89 
VALUES(1, 'A'), 
     (2, 'B') 

CREATE TABLE dbo.test90 
(
    Id int, 
    Col1 nvarchar(max) 
) 

INSERT dbo.test90 
VALUES(1, 'SELECT Var1 FROM dbo.test89') 

DECLARE @dsql nvarchar(max) 
DECLARE @varTable TABLE(Var1 nvarchar(1)) 
SELECT @dsql = Col1 
FROM dbo.test90 
WHERE Id = 1 
INSERT @varTable 
EXEC sp_executesql @dsql 
SELECT * 
FROM @varTable 
+0

Спасибо Alexander :) – mounaim

+0

нет проблем;) ... –

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