sql-server – 改变列SQL的DEFAULT约束

前端之家收集整理的这篇文章主要介绍了sql-server – 改变列SQL的DEFAULT约束前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个用于创建表的sql脚本,我希望除了几列之外的所有列的默认值为“”其他列需要整数默认值为0

以下创建表.删除了一些列,因为有很多列

CREATE TABLE [dbo].[PMIPatients]
(
[PID] [varchar](30) NOT NULL,[PatientFirstName] [varchar](30) NULL,[PatientLastName] [varchar](30) NULL,[PatientDOB] [varchar](30) NULL,[PatientDoctor] [varchar](30) NULL,[PatientDiet] [varchar](50) NULL,[PatientFallRiskLevel] [int] NULL,[BedId] [int] NULL,[BedDisplayInfo] TEXT NOT NULL DEFAULT ''
CONSTRAINT [PK_HL7Patient] PRIMARY KEY CLUSTERED 
([PID] ASC) WITH (PAD_INDEX  = OFF,STATISTICS_NORECOMPUTE  = OFF,IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS  = ON,ALLOW_PAGE_LOCKS  = ON)
ON [PRIMARY]
) 
ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

我希望在所选列上设置不同的默认值,以下代码不起作用,因为它表示已经存在默认约束集.所以我认为我必须首先放弃约束.

ALTER TABLE [dbo].[PMIPatients] ADD  
DEFAULT ((0)) 
FOR [PatientFallRiskLevel]

http://www.w3schools.com/sql/sql_default.asp说跟随代码应该能够像这样删除DEFAULT

ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT

但我在DEFAULT上收到语法错误

如何更改/删除特定列的DEFAULT约束

解决方法

添加默认值时,应使用约束的名称.这样,您可以稍后通过名称引用这些约束.
ALTER TABLE [dbo].[PMIPatients] ADD CONSTRAINT [PatientFallRiskLevel_Default] DEFAULT ((0)) FOR PatientFallRiskLevel

然后你可以使用:

ALTER TABLE [dbo].[PMIPatients] DROP CONSTRAINT [PatientFallRiskLevel_Default]
原文链接:https://www.f2er.com/mssql/83900.html

猜你在找的MsSQL相关文章