ORACLE 中ID自动增加字段

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

自动增加字

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;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航