如何使用SSIS中的执行SQL任务使代码A动态化?
代码A
SELECT SUM(DuplicateCount) AS TotalRow
FROM (
SELECT COUNT(ID + CheckCode) AS DuplicateCount
FROM Tbl_CheckCode
GROUP BY ID, CheckCode
HAVING COUNT(ID + CheckCode) > 1
) AS U
我已尝试将代码存储在对象变量中,因此我可以按如下方式使用它。
代码B
SELECT SUM(DuplicateCount) AS TotalRow
FROM (?) AS U
然而,似乎SSIS不允许这样做。有什么想法吗?
答案 0 :(得分:1)
使用另一个变量来创建整个SQL语句,并在执行SQL任务中使用它。
@CodeAVar = 'SELECT SUM(DuplicateCount) AS TotalRow
FROM (' + @CodeBVar + ') AS U'
答案 1 :(得分:1)
我已经明白了。
在执行SQL任务编辑器的表达式部分下,我将以下代码设置为 SQLStatementSource :
"SELECT SUM(DuplicateCount) AS TotalRow
FROM (" + @[User::SQLQuery] + ") AS U"
并自动在“常规”部分的 SQLStatement 中生成以下代码:
SELECT SUM(DuplicateCount) AS TotalRow
FROM () AS U