0
我想动态添加som列到2个表,如果他们不存在。 我的问题是,列的名称取决于另一列的值。添加一个具有变量名称的列
但显然以下是不允许的,为什么?
declare @inputs int;
set @inputs = (select inputs from campaigns where id = 102) + 1;
update campaigns set inputs = @inputs where id = 102;
if col_length('campaigns', 'input' + @inputs) is null alter table campaigns add input' + @inputs + ' ntext null;
if col_length('campaigns', 'input' + @inputs + 'text') is null alter table campaigns add input' + @inputs + 'ivocall ntext null;
if col_length('rapports', 'input' + @inputs) is null alter table rapports add input' + @inputs + ' ntext null;
if col_length('rapports', 'input' + @inputs + 'values') is null alter table rapports add input' + @inputs + 'values ntext null;
update campaigns set input' + @inputs + ' = '1||test||||0||0||0||0||0||2||0' where id = 102
我收到以下错误
Msg 102, Level 15, State 1, Line 4
Incorrect syntax near ' + @inputs + '.
Msg 102, Level 15, State 1, Line 5
Incorrect syntax near ' + @inputs + '.
Msg 102, Level 15, State 1, Line 6
Incorrect syntax near ' + @inputs + '.
Msg 102, Level 15, State 1, Line 7
Incorrect syntax near ' + @inputs + '.
Msg 102, Level 15, State 1, Line 8
Incorrect syntax near ' + @inputs + '.
什么错误给你? –
啊,我的不好。编辑:) – Behrens
有列名称取决于表值几乎肯定是坏规范化充其量 – Ghost