码迷,mamicode.com
首页 > 数据库 > 详细

Oracle 建表sql+自增主键

时间:2018-08-07 13:11:48      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:exe   not   sele   drop   class   pre   rop   创建表   创建序列   

-- 创建表 BONUS_BENCHMARK_VALUE
---------------------------------------------------------------
declare 
    num   number; 
begin 
    select count(1) into num from user_tables where TABLE_NAME = upper(‘BONUS_BENCHMARK_VALUE‘);
    if num>0 then 
        execute immediate ‘drop table BONUS_BENCHMARK_VALUE‘; 
    end if; 
end;
/
-- ----------------------------
-- Table structure for BONUS_BENCHMARK_VALUE
-- ----------------------------

CREATE TABLE BONUS_BENCHMARK_VALUE (
"BENCHMK_ID" NUMBER NOT NULL ,
"BENCHMK_YEAR" NVARCHAR2(20) NOT NULL ,
"BENCHMK_CODE" NVARCHAR2(20) NOT NULL ,
"BENCHMK_VALUE" NVARCHAR2(20) NULL ,
"MEASUREMENT" NVARCHAR2(20) NULL ,
"REFERENCE_START" NVARCHAR2(20) NULL ,
"REFERENCE_END" NVARCHAR2(20) NULL ,
"BENCHMK_TYPE" NVARCHAR2(50) NULL 
)
LOGGING
NOCOMPRESS
NOCACHE
;
-- 创建序列,产生自增数值
-- seq_BONUS_BENCHMARK_VALUE 序列名称
create sequence seq_BONUS_BENCHMARK_VALUE start with 1 increment by 1;   

--  创建触发器,在插入数据前,把自增数值赋值给主键
--  seq_BONUS_BENCHMARK_VALUE 序列名称 
--  BENCHMK_ID 主键id
create or replace trigger TRIGGER_BONUS_BENCHMARK_VALUE       
before insert on BONUS_BENCHMARK_VALUE       
for each row       
begin       
select seq_BONUS_BENCHMARK_VALUE.nextval into :new.BENCHMK_ID from dual;      
end ;   

Oracle 建表sql+自增主键

标签:exe   not   sele   drop   class   pre   rop   创建表   创建序列   

原文地址:https://www.cnblogs.com/vmkash/p/9435624.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!