ORACLE 中ID自动增加字段

2016-02-19 15:39 0 1 收藏

有了下面这个ORACLE 中ID自动增加字段教程,不懂ORACLE 中ID自动增加字段的也能装懂了,赶紧get起来装逼一下吧!

【 tulaoshi.com - 编程语言 】

    自动增加字

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

 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;

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1610126.html

延伸阅读
相信为数不少的系统管理员每天都在做着同一样的工作对数据进行备份。一旦哪一天疏忽了,而这一天系统又恰恰发生了故障,需要进行数据恢复,那么此时就无能为力了。假如每天设定一个固定的时间,系统自动进行备份,那该多好啊!下面笔者结合实践经验,谈一谈UNIX环境下Oracle数据库的自动备份,以起到抛砖引玉的作用。 我们计划让数据库...
很多人都知道在Oracle中并没有像其他数据库中的自增字段,那么我们怎样才能实现Oracle的自增字段功能呢?下面我们通过Oracle中的Sequence和Trigger来实现此功能。 1、首先建立一个创建自增字段的存储过程 //Written by Sun Zhenfang 20040903 create or replace procedure pr_CreateIdentityColumn (tablename varchar2,columnname v...
在ORACLE中,没有象MS-SQLSERVER中那样子有自增字段,但是如果我们要实现这个功能,有2种方法 1 Trigger sql语句如下: create or replace trigger trigger_name before insert on your_sid.tablename for each row begin declare i number; cursor cur is select max(id) from your_sid.tablename; BEGIN open cur; FETCH...
在实际的数据库应用中,我们经常遇到这样一个问题,连接到Oracle数据库的用户在作了一次操作后,再也没有后续操作,但却长时间没有和数据库断开连接。对于一个小型的应用系统来讲,本身的连接数目就有限,这好像没有什么严重的后果,但如果对于一个大型的数据库应用。如税务、工商等,如果数据库的连接数目很多,对于数据库服务器来讲,多...
在大型商业应用中,数据的异地容灾备份十分重要,也必不可少。笔者根据自己的实践经验,设计了一套简洁地实现异地数据自动备份的方法,可供数据库管理人员参考。文中所有的程序都经过测试,运行良好。这里模拟的异地运行环境为一主一备两套Sun Solaris系统,所采用的备份方法为Oracle数据库提供的标准备份:export。 相关命令 ...

经验教程

586

收藏

7
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部