1
我有一個表T1,其中有一列存儲了一些SQL請求,模式爲「從T2選擇Var1」。但問題是,當我把「從T1選擇A1」時,我只能以字符串的形式得到請求。有什麼辦法來執行存儲在列A1中的請求並將值返回給變量?在表中執行存儲的請求並將值存入變量
感謝您的幫助提前:)
我有一個表T1,其中有一列存儲了一些SQL請求,模式爲「從T2選擇Var1」。但問題是,當我把「從T1選擇A1」時,我只能以字符串的形式得到請求。有什麼辦法來執行存儲在列A1中的請求並將值返回給變量?在表中執行存儲的請求並將值存入變量
感謝您的幫助提前:)
您可以動態創建一個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
感謝亞歷山大:) – mounaim
沒問題;)... –