使用Oracle的问题--主键自增

牧云@^-^@ 提交于 2020-01-26 18:59:23

主键自增的方法

Oracle中数据表的主键在jsp中的使用一般是在sql语句中的主键位置使用序列让其自增或者使用触发器的特殊存储过程。
序列的使用方法

触发器

触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。

使用触发器

在这里插入图片描述
在这里插入图片描述
首先正对主键创建一个序列,然后创建触发器,然后在触发器中输入以下代码

CREATE OR REPLACE TRIGGER 创建的触发器名
BEFORE INSERT ON 表名 FOR EACH ROW WHEN (new.主键id is null)
begin
select 创建的序列名.nextval into:new.主键id from dual;
end;

在sql语句中只需正常输入各字段即可。

触发器优缺点

在一般的逻辑简单的系统中,多使用触发器可使性能提升,但是在偏大的系统,逻辑复杂的项目中不考虑用触发器的存储过程,因为复杂的逻辑会导致触发器的多层嵌套,代码聚合度降低,容易出现死锁情况,调试系统时,触发器的级联关系也会造成一定的烦乱。所以根据系统的实用性选用较好的方法可以事半功倍。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!