在ALTER TABLE中使用参数...添加默认语句

时间:2016-08-29 02:30:40

标签: sql-server

我不能使用参数来设置列的默认值,可能是因为它的属性是变量,错误是:

在此上下文中不允许使用“Mart”这个名称。有效表达式是常量,常量表达式和(在某些上下文中)变量。不允许使用列名。

如何将变量值转换为常量或更好的方式将值(参数值)赋值给列?非常感谢

declare @database varchar(100)

SET @database='Mart'

create table #temp 
(
    name varchar(256),
    [rows] int,
    reserved varchar(90),
    [data] varchar(90),
    index_size varchar(90),
    unused varchar(90),
    delta_date datetime default getdate()
) 

alter table #temp
add databese varchar(100)

declare @sqlstring1 nvarchar(500)

SET @sqlstring1 = N'ALTER TABLE #temp ADD DEFAULT "'+@database+'" FOR    
database'

exec sp_executesql @sqlstring1

1 个答案:

答案 0 :(得分:0)

ALTER TABLE temp ADD DEFAULT '''+@database+''' FOR ......