我想创建一个SSIS包,它将调用存储过程并将过程的输出转储到表中。如何从SSIS调用存储过程?
SSIS包将返回输出,我需要这个结果集输出转储到另一个表。 但是在插入之前,如果该日期存在任何行或者插入结果集,我想更新表中的行。
我想创建一个SSIS包,它将调用存储过程并将过程的输出转储到表中。如何从SSIS调用存储过程?
SSIS包将返回输出,我需要这个结果集输出转储到另一个表。 但是在插入之前,如果该日期存在任何行或者插入结果集,我想更新表中的行。
我do't很理解您的需求,但你可以这样来做:在
跌落执行SQL任务
确保YourStagingTable
存在和列存储过程的输出相匹配
下面是一些示例代码,把你的执行SQL任务,你想要做什么:
-- Clear Staging Table
TRUNCATE YourStagingTable
-- Save results of stored proc into staging table
INSERT INTO YourStagingTable
EXEC YourProc
-- Update any existing records
UPDATE YourFinalTable
SET YourUpdateField = YourStagingTable.YourSourceField
FROM YourStagingTable
WHERE YourFinalTable.JoinField1 = YourStagingTable.JoinField1
-- Insert any non existing records
INSERT INTO YourFinalTable (Column1,Column2)
SELECT Column1,Column2
FROM YourStagingTable
WHERE NOT EXISTS (
SELECT 1 FROM YourFinalTable
WHERE YourFinalTable.JoinField1 = YourStagingTable.JoinField1
)
源表和目标表都位于不同的数据库中。 –
就像他们在同一台服务器上一样,简单地限定他们:'db.schema.table' –
好的谢谢.... –
执行SQL任务是你想要的。 –