1

我想知道这是否可以在 SSIS Execute SQL 任务中完成。我想检查一个表是否存在,如果它不存在,则创建该表。我想将表名保存在一个变量中,以便我可以针对不同的数据库执行任务并能够更改表名。

作为一个例子,我有这个代码:

if not exists (select * from sysobjects where name='Table1' and xtype='U')
    Create Table Table1(
        Col11 varchar(10) primary key,
        Col12 varchar(10)
    );

为了灵活性,我想将值 Table1 存储在一个变量中,并在每次运行包时不断更改它以创建不同的表。

4

1 回答 1

3

是的,这是可能的。这是我的做法:

  • SqlStatement从您的 TableName 变量中为您构建另一个变量。根据您的 SSIS 版本,这可以通过两种方式完成:

    在 SSIS 2008 中,您需要使用脚本任务来执行字符串连接。

    在 SSIS 2012 中,您可以利用Expression Task

  • 您可以使用Exressions选项卡Execute SQL Task并添加一个表达式SqlStatementSource并将其指向您的变量。变量应该是完整的语句。

于 2013-09-09T00:28:02.597 回答