在oracle数据库里创建自增ID字段的步骤

CREATE TABLE ADVICE
(
ID INT NOT NULL,
ACTIVE INT DEFAULT 1 NOT NULL,
TYPE INT NOT NULL,
MSG VARCHAR2(512) NOT NULL,
ADVICE VARCHAR2(4000) NOT NULL,
PRIMARY KEY(ID),
CONSTRAINT ADVICE_UNI UNIQUE(TYPE,MSG)
)TABLESPACE MYDB;

--创建自增ID,名称为:表名_字段名_SEQ
CREATE SEQUENCE ADVICE_ID_SEQ MINVALUE 1 NOMAXVALUE INCREMENT BY 1 START WITH 1 NOCACHE;

-- 为Insert操作创建触发器,无需在SQL语句里写NEXTVAL,名称为表名_INS_TRG
CREATE OR REPLACE TRIGGER ADVICE_INS_TRG BEFORE INSERT ON ADVICE FOR EACH ROW WHEN(NEW.ID IS NULL)
BEGIN
SELECT ADVICE_ID_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
END;

原文地址:https://www.cnblogs.com/wanyong-wy/p/8309482.html

时间: 2024-10-12 08:55:09

在oracle数据库里创建自增ID字段的步骤的相关文章

Oracle数据库视图创建与处理方法教程

有关Oracle数据库视图创建与处理方法教程. 分享下oracle中创建视图与处理视图的方法,学习oracle视图的使用方法. 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改.视图基于的表称为基表,Oracle的数据库对象分为五种:表,视图,序列,索引和同义词. 视图是存储在数据字典里的一条select语句.通过创建视图可以提取数据的逻辑上的集合或组合. oracle视图的优点:1.对数据库的访问,因为视图可以有选择性的选取数据库里的一部分.2.用

mysql数据库单表只有一个主键自增id字段,ibatis实现id自增

mysql数据库单表只有一个主键自增id字段,ibatis实现id自增 <insert id="autoid">        insert into user_id values(null)        <selectKey resultClass="int">SELECT @@IDENTITY As id</selectKey>    </insert>

查询数据库里所有表名和字段名的语句

查询数据库里所有表名和字段名的语句SQL 查询所有表名:SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'mysql: SELECT * FROM INFORMATION_SCHEMA.TABLES查询表的所有字段名:SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID(' 表名' )SELECT * FROM INFORMATION_SCHEMA.TABLESSELECT * FROM INFORMATION_SCHEM

[SQL]取得数据库里的数据表、字段、型态、长度、数据结构等资讯

如果想动态做查询条件,或是撰写表单产生器,以及动态产生表单,可以利用以下语法,放到检视表里以供使用. 如果想动态做查询条件,或是撰写表单产生器,以及动态产生表单,可以利用以下语法,放到检视表里以供使用. 假设我数据库里有两个数据表分别为Departments和Employees如下: Departments 数据行名称 数据类型 长度 允许Null dno varchar 50 0 name varchar 50 0 manager varchar 50 0 budget int 4 0 Emp

取得数据库里的数据表、字段、型态、长度、数据结构等资讯 (SQL Server 2008)

取得数据库里的数据表.字段.型态.长度.数据结构等资讯 ?SELECT???????? dbo.sysobjects.name AS sTableName,?????????????????????????? dbo.syscolumns.name AS sColumnsName,?????????????????????????? dbo.syscolumns.prec AS iColumnsLength,?????????????????????????? dbo.syscolumns.co

update忘了加where条件,不小心把oracle数据库里某张表的全表数据都更新了怎么办?

问题描述:数据库突然出问题了,一张物资价格表全部更新成了同一个价格,13万条数据 跟大家分享一下我自己跳的坑,希望对遇到类似问题的小伙伴有一点点帮助.ps:属于技术比较low的,所以自己进的坑比较深,解决方法可以直接看6和8 1.首先客户有数据库备份,每天凌晨都有数据库备份,我们没有dba权限,客户通过数据库监控日志查出18号有一个13万数据的update没有加where条件,给了我备份的数据库文件. 2.创建了新的表空间,表用户,导入18号的数据库(我的电脑上装了oracle服务) eg:创建

Oracle数据库,数据的增、删、改、查

oracle数据库中,数据的增.删.改.查,通过SQL语句实现 SQL:结构化查询语言: 特点:不区分大小写:字符串用单引号引起来:语句结束用分号表示结束: 行注释,在语句的最前面加"--" 块注释,分别在语句的前后加    /*  和  */ SQL中常用的几类: 一.数据定义语言 DDL:创建.修改.删除数据库语言. create table Student ( sno varchar2(3) not null, sname varchar2(8) not null, ssex v

Oracle数据库的创建、数据导入导出

如何结合Sql脚本和PL/SQL Developer工具来实现创建表空间.创建数据库.备份数据库.还原数据库等操作,然后实现Oracle对象创建.导入数据等操作,方便我们快速了解.创建所需要的部署Sql脚本和数据库操作. 1.数据库创建脚本 首先使用dba身份登录数据库. /*删除表空间*/ --DROP TABLESPACE whc_tbs INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS; --建立数据文件 create tablesp

Oracle数据库之创建和删除数据库

创建数据库 1 使用Database Configuration  Assistant工具创建Oracle数据库 步骤一 操作窗口 有4种选择  A 创建数据库 B 配置数据库选件 C 删除数据库 D 管理模板 步骤二 数据库模板 窗口 有3种选择  A 一般用途或事务处理 B 定制数据库 C 数据仓库 步骤三 数据库标识 在这一步中,需要输入 全局数据库名 和 Oracle 系统标识符(SID) 全局数据名是Oracle 数据库的唯一标识,所以不能与已有的数据库重名 打开oracle数据库时,