在ALTER TABLE中使用参数...添加默认语句(Using Parameters in ALTER TABLE …Add default statement)
我不能使用参数来设置列的默认值,可能是因为它的属性作为变量,错误是:
在此上下文中不允许使用“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 @sqlstring1I cannot use a parameter to set a default value for a column probably due to its properties as a variable, the error was:
The name "Mart" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted.
How can I convert a variable value to a constant or any better way to assign a value(a value of a parameter) to a column? Thanks a lot
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最满意答案
ALTER TABLE temp ADD DEFAULT '''+@database+''' FOR ...... ALTER TABLE temp ADD DEFAULT '''+@database+''' FOR ......更多推荐
发布评论