永发信息网

oracle中触发器根据条件判断如果存在同样的数据不能插入怎么写?

答案:2  悬赏:40  手机版
解决时间 2021-03-17 21:56
  • 提问者网友:练爱
  • 2021-03-17 13:59
oracle中触发器根据条件判断如果存在同样的数据不能插入怎么写?
最佳答案
  • 五星知识达人网友:春色三分
  • 2021-03-17 14:24
CREATE OR REPLACE TRIGGER TRI_INSERT_TB
BEFORE INSERT
ON TB
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
declare
Duplicate_Exception Exception;
PRAGMA EXCEPTION_INIT(Duplicate_Exception, -2293);
BEGIN
IF (重复) THEN
RAISE Duplicate_Exception;
END IF;
END ;
/
SHOW ERRORS;

把“重复”改成你要判断的条件
全部回答
  • 1楼网友:笑迎怀羞
  • 2021-03-17 15:28
试了下楼主要求的触发器,简单的没法实现。难点的就要建立数组来放所有旧的数据,然后在插入的时候进行数据匹配。只有这么个思路,具体没实现(数组没学好)……要简单点就像楼上说的建立约束,不论是唯一键还是主键,都可以很方便的解决了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯