您的位置:首页 > 其它

触发器--控制主键自增长度

2015-11-25 09:40 274 查看
需求:检查数据中的表productid必须为10。

思路:通过触发器对表进行检查,如果超出则提示“数据自动编号溢出,请联系系统管理员”

步骤:

1、首先建立表级触发器,因为是插入(insert)。--错误应该是行级触发器

2、插入前检查productid的长度如果超出,则抛出异常。

CREATE OR REPLACE TRIGGER t_pdtinfo_pk

BEFORE INSERT ON productinfo

FOR EACH ROW

BEGIN

IF inserting THEN

IF( LENGTH(:new.productid) ) > 10 THEN

RAISE_application_error(-20000,'数据自动编号溢出,请联系系统管理员') ;

END IF ;

END IF;

END;

SELECT * FROM productinfo

INSERT INTO productinfo VALUES ('02400100011','天堂伞',879,45,'0100010001','中国_','日用品');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: