您的位置:首页 > 数据库 > Oracle

oracle中主键自增的生成步骤

2012-03-13 23:19 211 查看
--均在oracle 10g下完成以下步骤

--首先创建一张表(自己用的用户表)

CREATE TABLE Y_USER(

USER_ID NUMBER(8) NOT NULL PRIMARY KEY,

USER_NAME VARCHAR2(20) NOT NULL,

GENDER INT NOT NULL,

ADDRESS VARCHAR2(30),

STATUS INT NOT NULL,

PHONE NUMBER(12),

IDENTITY INT NOT NULL,

EMAIL VARCHAR2(50) NOT NULL

);

--然后创建用户序列

DROP SEQUENCE S_TB_USER;

CREATE SEQUENCE S_TB_USER MINVALUE 1 MAXVALUE 99999

INCREMENT BY 1

START WITH 1

NOCACHE

ORDER;

--第三步创建用户触发器

CREATE OR REPLACE TRIGGER T_TB_USER

BEFORE INSERT ON Y_USER
--Y_USER为表名

FOR EACH ROW

DECLARE

NEXTID NUMBER;

BEGIN

IF

:NEW.USER_ID IS NULL OR :NEW.USER_ID
= 0 THEN --USER_ID
为主键列名

SELECT S_TB_USER.NEXTVAL INTO NEXTID FROM DUAL;
--S_TB_USER为刚创建的序列名

:NEW.USER_ID:=NEXTID;

END IF;

END T_TB_USER;

完成以上三步,就可以实现自增了!!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: