在ALTER TABLE中使用参数...添加默认语句(Using Parameters in ALTER TABLE …Add default statement)

系统教程 行业动态 更新时间:2024-06-14 16:59:17
在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 @sqlstring1

I 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 ......

更多推荐

本文发布于:2023-04-16 14:36:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/dzcp/51ecd0c0bfed54b9a765a05dbc2ed9c5.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:语句   参数   TABLE   ALTER   statement

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!