我想创建一个表。在表名id
是唯一的 (MARKET_ id是表的名称)。ssis字符串变量值应该用于执行sql任务
id
有前导零需要保留。所以我宣称id
是一个字符串变量。
例如:id=02161515
。在参数映射中,我将它映射为VARCHAR
。
当我使用sql语句CREATE TABLE MARKET_?;
时发生错误。它导致:CREATE TABLE MARKET_'02161515';
引号是不必要的,并在sql语句中发现错误"'"
。
请帮忙!
我想创建一个表。在表名id
是唯一的 (MARKET_ id是表的名称)。ssis字符串变量值应该用于执行sql任务
id
有前导零需要保留。所以我宣称id
是一个字符串变量。
例如:id=02161515
。在参数映射中,我将它映射为VARCHAR
。
当我使用sql语句CREATE TABLE MARKET_?;
时发生错误。它导致:CREATE TABLE MARKET_'02161515';
引号是不必要的,并在sql语句中发现错误"'"
。
请帮忙!
我想你有列添加到您的表,但不张贴?
解决此问题的一种方法是创建两个变量,一个用于表名,一个用于create table语句。
实施例(用于演示仅):
第一个变量是TABLE_NAME并用下式定义为动态命名的示范:
"dmu.MY_TABLE_"+(DT_STR,30,1252)datepart("s",getdate()) + "(id int)"
第二变量是CREATE_TABLE_SQL和定义如下:
"Create table "+ @[User::TABLE_NAME]
下一页更改Execute_SQL_Task的设置:
设置SQLSourceType到可变和SourceVariable为User :: CREATE_TABLE_SQL
这将在数据库中创建表
非常感谢您的洞察力 –