说明
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
暂无评论内容