程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> ORACLE 中ID自動增加字段

ORACLE 中ID自動增加字段

編輯:關於Oracle數據庫

    自動增加字

 CREATE TABLE t_topic (
  topicId       NUMBER(18,0)   NOT NULL  ,                       -- 主題ID
 topicTitle   VARCHAR2(100)  NOT NULL ,                         -- 主題名
 topicContent varchar2(2000) NOT NULL ,                       -- 主題內容
 topicAuthor   VARCHAR2(20)   NOT NULL ,                        -- 主題發表者(論壇帖子發表人)
 topicBoaId   NUMBER(1,0)    NOT NULL REFERENCES t_board(boaId) , -- 主題屬於論壇哪個模塊
 topicHits     NUMBER(18,0)   DEFAULT '0' ,                    -- 主題點擊數
 topicElite   NUMBER(1,0)    DEFAULT '0' ,                     -- 是否為精華帖子 0、否 1、是
 topicTop     NUMBER(1,0)    DEFAULT '0' ,   -- 是否置頂主題 0、否 1、是
 topicLock     NUMBER(1,0)    DEFAULT '0' ,   -- 是否禁止回復 0、否 1、是
 topicDel     NUMBER(1,0)    DEFAULT '0' ,   -- 是否刪除回復 0、否 1、是(非凡用途,治理員文章不讓跟貼)
 topicPuBTime DATE NOT NULL,                -- 主題被創建時間
  topicReNum   NUMBER(18,0)   DEFAULT '0' ,    -- 回復主題的總數
 topicReUser   VARCHAR2(20)   DEFAULT '' ,       -- 最後回復的作者
 topicReTime   DATE           ,      -- 最後回復的時間
 topicIp      VARCHAR2(15) DEFAULT '' ,       -- 發表人的IP
 PRIMARY KEY (topicId)
); Create Sequence t_topic_Id_sequence                                    --主題序列
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE;
CREATE OR REPLACE TRIGGER t_topic_Id_trigger //觸發器
BEFORE INSERT
ON t_topic
FOR EACH ROW
DECLARE
newId NUMBER(18,0);
BEGIN
SELECT t_topic_Id_sequence.nextval INTO newId FROM dual;
:new.topicId := newId;
END;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved