sql server中check约束的建立
在同一张表中建立单价和原价,让单价大于原价的check约束用脚本怎么编写?
------最佳解决方案--------------------
ALTER TABLE 表
ADD CHECK (单价>原价)
------其他解决方案--------------------create table tb(单价 float,原价 float,check(单价>原价))
------其他解决方案--------------------create table cost
(tuition money,
bookcost money ,
constraint tuttion_check check (tuition>bookcost))
------其他解决方案--------------------
create table tb(a int,b int, check(a>b) )
------其他解决方案--------------------
是在一张表中啊!只是大家举的例子的表名不同而已
------其他解决方案--------------------
create table cost
(tuition money,
bookcost money ,
constraint tuttion_check check (tuition>bookcost))
我运行成功,你试下
------其他解决方案--------------------
你是列约束当然不行。还没创建完成那时候。要是表约束才可以
------其他解决方案--------------------
没有那个意思,因为我也试了77哥的语法,也是显示你的问题,
我刚才那个是创建成功,要不你发你的建表语句出来给大家测试一下
------其他解决方案--------------------不能在创建表的时候就建立这个check约束吗?
------其他解决方案--------------------在同一张表中建立check约束
------其他解决方案--------------------消息 8141,级别 16,状态 0,第 2 行
表 'aa' 的列 'price' 的列 CHECK 约束引用了另一列。
消息 1750,级别 16,状态 0,第 2 行
无法创建约束。请参阅前面的错误消息。
------其他解决方案--------------------你说我会连这种问题都发现不了吗?问题是创建不了
表 XX 的列 XX 的列 CHECK 约束引用了另一列。
------其他解决方案--------------------好了,问题解决了 谢谢大家
------其他解决方案--------------------问题解决了,
实在创建表的列后再添加约束才行的。
------其他解决方案--------------------
create table tb(a int check(a>b) ,b int)
如果当成列约束当然会出错的。比如写到如上的地方。
------其他解决方案--------------------