我想知道在SSIS执行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存储在变量中,并在每次运行包时不断更改它以创建不同的表。
答案 0 :(得分:3)
是的,这是可能的。 我将如何做到这一点:
从TableName为您的SqlStatement
构建另一个变量
变量。根据您的SSIS版本,这可以一分为二
方法:
在SSIS 2008中,您需要使用Script Task来进行字符串连接。
在SSIS 2012中,您可以利用Expression Task。
您可以使用Exressions
中的Execute SQL Task
标签添加
SqlStatementSource
的表达式并将其指向您的变量。
变量应该是完整的陈述。