尝试将临时表中的列值设置为空字符串时遇到问题

时间:2019-01-29 13:55:01

标签: tsql

当前在SP中,我们在临时表中创建了一些列,这些列默认情况下使用下面的第一个SET语句设置为0,但是我现在需要将这些列设置为空字符串值而不是null:< / p>

SET @columns =  @columns + ',' + CHAR(13) + CHAR(10) + ' [' + cast((@i+1) as nvarchar) +  '] int Default 0' SET @i = @i + 1;

我尝试使用此解决方案:

SET @columns = @columns + ',' + CHAR(13) + CHAR(10) +  ' [' + cast((@i+1) as nvarchar) + '] nvarchar Default []' SET @i = @i+1;

但是当我创建ALTER语句时:

Alter TABLE #Survivaltmp Add ' + STUFF(@columns, 1, 1, '') + ''

添加带有填充此变量的列的列,我收到此错误:

缺少对象或列名称。对于Select Into语句,请验证每一列都有一个名称。
我的问题是,有什么方法可以将空字符串值添加到列?任何帮助/方向将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

字符串用单引号引起来,而不用方括号括起来,它们用于标识。

尝试:

... + '] nvarchar Default ''''' ...