加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

Oracle数据库创建一个主键ID自增的表

发布时间:2021-01-25 15:13:48 所属栏目:站长百科 来源:网络整理
导读:一.建表 CREATE TABLE 表 ( ID INTEGER not null, NAME NVARCHAR2(256), DEL_FLG int ,CONSTRAINT "PF_表" PRIMARY KEY ("ID") ) 二.建设序列 CREATE SEQUENCE 表_ID INCREMENT BY 1? ? ?--指定序列号之间的隔断,该值可为正的或负的整数,但不举动0。序列为

一.建表

CREATE TABLE 表
(
ID INTEGER not null,
NAME NVARCHAR2(256),
DEL_FLG int
,CONSTRAINT "PF_表" PRIMARY KEY ("ID")
)

二.建设序列

CREATE SEQUENCE 表_ID
INCREMENT BY 1? ? ?--指定序列号之间的隔断,该值可为正的或负的整数,但不举动0。序列为升序。忽略该子句时,缺省值为1

START WITH 1? ? ? ? ? --指定天生的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对付降序,序列可由比最大值小的值开始,缺省值为序列的最大值。

NOMAXVALUE? ? ? ? --为升序指定最大值为1027,为降序指定最大值为-1。

ORDER
NOCYCLE
CACHE 10;? ? ? ? ? ? ?

三.建设触发器

CREATE OR REPLACE TRIGGER? 触发器名称
BEFORE INSERT ON 表
FOR EACH ROW
BEGIN
SELECT yqjyMaintain_ID.nextval INTO :NEW.ID FROM DUAL;? ? ? ? ? ? ? ? --触发前提(sql语句)
END 触发器名称;

?

触发器名:触发器工具的名称。因为触发器是数据库自动执行的,因此该名称只是一个名称,没有实质的用途。
触发时刻:指明触发器何时执行,该值可取:
before:暗示在数据库举措之前触发器执行;
after:暗示在数据库举措之后触发器执行。
触发变乱:指明哪些数据库举措会触发此触发器:
insert:数据库插入会触发此触发器;
update:数据库修改会触发此触发器;
delete:数据库删除会触发此触发器。
表 名:数据库触发器地址的表。
for each row:对表的每一行触发器执行一次。假如没有这一选项,则只对整个表执行一次。

触发器能实现如下成果:

成果:

1、 应承/限定对表的修改2、 自动天生派生列,好比自增字段3、 逼迫数据同等性4、 提供审计和日记记录5、 防备无效的事宜处理赏罚6、 启用伟大的营业逻辑

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读