读书人

来:约束的写法

发布时间: 2012-03-12 12:45:33 作者: rapoo

高手请进来:求一个约束的写法
有tableA 里面有c1,c2,c3三个字段,默认值都为null

我想求一条约束的写法,能使能这个表的添加,修改操作时,c1,c2,c3这三个字段中,有且只有一个的值不为null.

谢谢大家。



[解决办法]
这种动态的约束,需要通过触发器实现。
[解决办法]
约束实现不了这样复杂的功能 只能通过触发器实现
[解决办法]
束不行的,可以用器,但人有必要
像情,在前台控制不更好?什么非得交做呢?

[解决办法]
create TRIGGER trig_CheckNull
ON dbo.a
AFTER INSERT,UPDATE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
if exists(select top 1 C1 from inserted where isnull(isnull(isnull(c1,c2),c3),0)=0)
begin
rollback
raiserror( 'C1、C2和C3中至少一不能空 ',11,1)
end
-- Insert statements for trigger here

END
GO

读书人网 >SQL Server

热点推荐