当前位置: 首页 > 面试题库 >

SQL Server中的Alter列

阮喜
2023-03-14
问题内容

ALTER向现有列添加默认值的语句的正确语法是什么?

我可以添加没有错误的新列:

ALTER TABLE tb_TableName ADD Record_Status varchar(20)

但是,如果我尝试通过使用以下语句来更改现有列以应用默认值:

ALTER TABLE tb_TableName 
ALTER COLUMN Record_Status VARCHAR(20) NOT NULL DEFAULT ''

或者

ALTER TABLE tb_TableName 
ALTER Record_Status VARCHAR(20) NOT NULL DEFAULT ''

我有一个错误:

‘Record_Status’附近的语法不正确。


问题答案:

我想你想要这样的语法:

ALTER TABLE tb_TableName  
add constraint cnt_Record_Status Default '' for Record_Status

根据您的一些评论,我猜测null您的表中可能已经有值,这导致列的更改not null失败。如果真是这样,那么您应该先运行UPDATE。您的脚本将是:

update tb_TableName
set Record_Status  = ''
where Record_Status is null

ALTER TABLE tb_TableName
ALTER COLUMN Record_Status VARCHAR(20) NOT NULL

ALTER TABLE tb_TableName
ADD CONSTRAINT DEF_Name DEFAULT '' FOR Record_Status

参见带有演示的SQL Fiddle



 类似资料:
  • 问题内容: 我正在尝试在SQLServer中聚合“ STRING”字段。我想找到与Oracle中相同的函数LISTAGG。 您知道如何执行相同的功能或其他方法吗? 例如, 我希望这个查询的结果是 问题答案: 从SQL Server 2017开始,该功能可用,从而大大简化了逻辑: 在SQL Server中,您可以用来获取结果:

  • 此函数用于以安全的方式更改引用类型的值。 这是在一个线程中运行,其他进程无法访问。 这就是命令需要始终与'dosync'方法相关联'dosync' 。 其次,要更改引用类型的值,需要调用函数以对值进行必要的更改。 语法 (Syntax) 以下是语法。 (alter refname fun) Parameters - 'refname'是保存参考值的变量的名称。 'fun'是用于更改引用类型值的函

  • 问题内容: 我正在尝试添加新列 到此表: 但是查询从未完成,我已经等了5分钟,什么也没发生。该表只有5,000条记录,由于它阻止了对该表的访问,我迫不及待地等待了太多时间。我有一个测试数据库(等于生产版本),并且工作非常迅速。postgres版本是9.5.6。 问题答案: 如果您运行的是PostgreSQL 9.6+,则可以用来查找锁定您的查询的PID。

  • node-sqlserver 是微软官方发布的 SQL Server 的 Node.js 的驱动程序。可允许 Windows 上运行的 Node.js 程序访问 SQL Server 和 Windows Azure SQL 数据库。 该项目托管在 Github 上。

  • sqlserver manager 是一个多功能sqlserver图形管理界面,支持自定义导入导出,自动扫描服务器,数据库。  

  • 主要内容:语法,示例SQL ALTER TABLE 语句用来修改、添加、删除、修改与表相关的各种要素,比如: 给表添加新的字段 修改现有字段的名字 修改现有字段的类型 添加约束 删除约束 语法 使用  ALTER TABLE 为表添加一个新字段的基本语法如下: ALTER TABLE table_name ADD column_name datatype; 使用  ALTER TABLE 删除表中某个字段的基本语法如