要捕获动态T-SQL的结果,可以使用以下方法:
使用sp_executesql存储过程:
DECLARE @sql NVARCHAR(MAX)
SET @sql = 'SELECT * FROM TableName'
EXEC sp_executesql @sql
使用INSERT INTO EXEC语句:
INSERT INTO #TempTable
EXEC('SELECT * FROM TableName')
SELECT * FROM #TempTable
使用OPENROWSET函数:
SELECT *
FROM OPENROWSET('SQLNCLI', 'Server=(local);Trusted_Connection=yes;',
'SELECT * FROM DatabaseName.dbo.TableName')
使用临时表:
CREATE TABLE #TempTable (
Column1 datatype,
Column2 datatype,
...
)
DECLARE @sql NVARCHAR(MAX)
SET @sql = 'INSERT INTO #TempTable SELECT * FROM TableName'
EXEC sp_executesql @sql
SELECT * FROM #TempTable
请注意,这些方法中的一些可能需要对数据库进行适当的配置和权限设置。另外,动态T-SQL可能存在安全风险,因此请确保在构建动态查询时对输入进行适当的验证和过滤,以防止SQL注入攻击。
上一篇:捕获动态创建的命令按钮的点击事件
下一篇:捕获动态添加的Kivy按钮的属性