这段Oracle约束怎么加正确?

2025-03-13 10:07:40
推荐回答(1个)
回答1:

check好像只有检查功能,没有修改功能吧。你应该是想在插入数据的时候,将stdaddress字段的null值改为地址不详是吧,那样的话,不用建立约束。
如果从前台插入,那么需要建立的是触发器。
触发条件为Before insert
触发形式为FOR EACH ROW(行级)
触发前判断下,这个字段是不是null如果是,那么改为地址不详,或者不修改,应该是这个意思吧。
至于表中已经存在的,用update table set stdaddress='地址不详' where stdaddress is null修改就好。
为了防止以后出现这个问题,可以考虑加一个not null的约数,这样如果触发器损坏,那么就不能插入了。
如果从其他表导入数据,那么就在你的导入过程中加上一个判断就行了。