触发器--控制主键自增长度
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','中国_','日用品');
思路:通过触发器对表进行检查,如果超出则提示“数据自动编号溢出,请联系系统管理员”
步骤:
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','中国_','日用品');
相关文章推荐
- 如何生成一维码
- spring配置文件的加载
- Java 中无参带返回值方法的使用
- 我的代码风格规范(动态更新)
- [Built-in Functions] - H
- 重建二叉树
- angularJS学习之路(三十)---自定义指令---templateUrl
- strcpy和memcpy的区别
- iOS-即时通讯-环信
- larave5.1l队列
- 中耳炎
- Altium Designer(Protel)网络连接方式Port和Net Label详解
- B样条曲线
- HTML iframe 用法总结收藏
- 查看系统是否激活命令行
- MySQL 数据库双向同步复制
- Oracle 修改字段类型和长度
- Android学习笔记-数据存储-SharedPreferences和File
- 11-25的体会
- Java线程详解