如何编写语句 修改Check约束?

wangluo_333 2009-03-31 09:05:24
CREATE TABLE [sale_Day_Details_200901]
(
[CompanyCD] [smallint] NOT NULL ,
[BrancheCD] [smallint] NOT NULL ,
[BusinessDate] [smalldatetime] NOT NULL ,
[CostPrice] [money] NULL ,
[SaleQty] [money] NULL ,
[SaleSum] [money] NULL ,
[SaleTaxoutSum] [money] NULL ,
[PosDiscountQty] [money] NULL ,
[PosDiscountSum] [money] NULL ,
[SysLossSum] [money] NULL ,
[CustomerAmount] [int] NULL ,
[YearMonth] [int] NOT NULL ,
[YearWeek] [int] NULL ,
[UpdateDateTime] [datetime] NULL ,
CONSTRAINT [PK_sale_Day_Details_200901] PRIMARY KEY CLUSTERED
(
[CompanyCD],
[BrancheCD],
[BusinessDate],
[YearMonth]
) WITH FILLFACTOR = 90 ON [PRIMARY] ,
CONSTRAINT [CK_sale_Day_Details_200901_YearMonth] CHECK ([YearMonth] = 200901)
) ON [PRIMARY]
GO

这是表结构,数据库中有这样的表很多个,我想通过编写语句,来更新上面的CHECK 约束,请高手指点,很急...

...全文
206 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ws_hgo 2009-03-31
  • 打赏
  • 举报
回复
人齐结贴
ws_hgo 2009-03-31
  • 打赏
  • 举报
回复
--删除约束先:
alter table 表名 drop constraint 约束名
go
--新增约束:
alter table 表名 add constraint 约束名 check(更新后的内容)
rex100 2009-03-31
  • 打赏
  • 举报
回复
帮顶
-狙击手- 2009-03-31
  • 打赏
  • 举报
回复
楼主的意思 是多个表 都有不同名但同样功能的约束 ,想批量一次更新掉?

Teng_s2000 2009-03-31
  • 打赏
  • 举报
回复
IDE多好用啊,还得通过sql语句!
  • 打赏
  • 举报
回复
既然知道约束的名字了,那就删掉,然后重新建立
sdhdy 2009-03-31
  • 打赏
  • 举报
回复
--先删掉约束,再添加。如:
alter table sale_Day_Details_200901 drop constraint CK_sale_Day_Details_200901_YearMonth
go
alter table sale_Day_Details_200901 add constraint CK_sale_Day_Details_200901_YearMonth check([YearMonth] = 200902)
htl258_Tony 2009-03-31
  • 打赏
  • 举报
回复
--查出约束名: 
sp_helpconstraint tb
go
--删除约束先:
alter table 表名 drop constraint 约束名
go
--新增约束:
alter table 表名 add constraint 约束名 check(更新后的内容)
go
yangqidong 2009-03-31
  • 打赏
  • 举报
回复

alter table Doctors drop constraint CK_sale_Day_Details_200901_YearMonth
alter table Doctors add constraint CK_sale_Day_Details_200901_YearMonth CHECK ([YearMonth] = 199901)
liangCK 2009-03-31
  • 打赏
  • 举报
回复
先删除约束,再添加。
htl258_Tony 2009-03-31
  • 打赏
  • 举报
回复
--查出约束名:
select object_name(constid) from sysconstraints where ID=object_id('表名') and colid>0 and status%16=4

go
alter table 表名 drop constraint 约束名

go
alter table 表名 add constraint 约束名 check(更新后的内容)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧