ORACLE 建表

说明

oracle手动建表时注意要创建table 、TRIGGER(触发器)、Sequences(计数器)
因为oracle 不提供自增字段,需要自己写触发器实现

建表

CREATE TABLE "GOLD"."EQUIPDATA" (
"ID" NUMBER(19) NOT NULL ,
"EQUIPDATA" NUMBER(19) NULL ,
"EQUIPCODE" NVARCHAR2(40) NULL ,
"TIMESTAMP" DATE NOT NULL 
)
LOGGING
NOCOMPRESS
NOCACHE;

设置主键

ALTER TABLE "GOLD"."EQUIPDATA" ADD PRIMARY KEY ("ID");

创建计数器

create sequence "GOLD"."SQ_EQUIPDATA"
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
cache 20;

建触发器(关联表和计数器)

CREATE OR REPLACE TRIGGER "TR_EQUIPDATA"
before insert on "GOLD"."EQUIPDATA"
for each row
begin
  select "GOLD"."SQ_EQUIPDATA".nextval into :new."ID" from dual;
end;

检验结果

使用Navicat 开打表设计模式

使用plsql 打开查看TRIGGER 目录和Sequences 是否有红色叉叉

错误处理

如果发现触发器报错
在plsql中 右键 对应的trigger,选edit ,在出来的sql语句替换成

CREATE OR REPLACE TRIGGER "TR_EQUIPDATA"
before insert on "GOLD"."EQUIPDATA"
for each row
begin
  select "GOLD"."SQ_EQUIPDATA".nextval into :new."ID" from dual;
end;

重新执行

THE END
点赞15赞赏 分享
抢沙发
头像
提交
头像

昵称

取消
昵称表情

    暂无评论内容