Oracle Table自动加1
转载请注明文章转载自:Dbabc.Net [http://dbabc.net]
本文链接:http://dbabc.net/archives/2010/09/25/oracle-table_trigger.shtml
CREATE TABLE MARKETINGNAME
(
ID NUMBER NOT NULL,
MARKET_NAME VARCHAR2(20 BYTE),
PROD_LINE_CODE VARCHAR2(32 BYTE),
BUSI_TYPE_CODE VARCHAR2(32 BYTE),
CUST_CODE VARCHAR2(32 BYTE),
CREATE_STAMP DATE DEFAULT sysdate,
CREATE_USER VARCHAR2(20 BYTE) DEFAULT ‘BDC’,
ACTIVE_FLAG VARCHAR2(1 BYTE) DEFAULT ‘Y’
);
CREATE SEQUENCE seq_MARKETINGNAME_id
NOCYCLE
MAXVALUE 9999999999
START WITH 2;
CREATE OR REPLACE TRIGGER seq_MARKETINGNAME_id
BEFORE INSERT ON “MARKETINGNAME”
FOR EACH ROW
DECLARE
next_MARKETINGNAME_id NUMBER;
BEGIN
–Get the next emergency id from the sequence
SELECT seq_MARKETINGNAME_id.NEXTVAL
INTO next_MARKETINGNAME_id
FROM dual;
–use the sequence number as the primary key
–for the record being inserted
:new.id := next_MARKETINGNAME_id;
END;