oracle 12c之前用sequence 和 trigger来生成自动增长的列

SQL> create table scott.t1 (id number, val varchar2(8));

Table created.

SQL> CREATE SEQUENCE scott.t1_id_seq INCREMENT BY 1 START WITH 1 NOMAXVALUE NOCYCLE ;

Sequence created.

SQL> create or replace trigger scott.t1_id_trigger
2 before insert on scott.t1 for each row
3 begin
4 select scott.t1_id_seq.nextval into :new.id from dual;
5 end;
6 /

Trigger created.

SQL> insert into scott.t1(val) values(‘a‘);

1 row created.

SQL> commit;

Commit complete.

SQL> select * from scott.t1;

ID VAL
---------- ------------------------
1 a

SQL> insert into scott.t1(val) values(‘b‘);

1 row created.

SQL> select * from scott.t1;

ID VAL
---------- ------------------------
1 a
2 b

SQL> commit;

Commit complete.

oracle 12c之前用sequence 和 trigger来生成自动增长的列,布布扣,bubuko.com

时间: 2024-10-17 06:05:54

oracle 12c之前用sequence 和 trigger来生成自动增长的列的相关文章

oracle中如何设置主键并且让其自动增长

由于oracle中是没有自动增长的的,需要自己去进行写触发器等方式去进行设置: 找了一下他人写的,有两种方法可以设置主键,一种是自增长主键,另一种就是生成唯一序列. 一.自增长主键 我创建一个用户的信息表 -- Create tablecreate table USERINFO( USERNO NUMBER not null, USERNAME NVARCHAR2(20), USERPWD NVARCHAR2(20))tablespace MYPRODUCT pctfree 10 initran

Oracle 触发器和序列的创建和使用 (自动增长列)

-- 创建序列 create sequence 序列名称        start with 1 -- 起始值        increment by 1 -- 增量        maxvalue 99999999 -- 最大值        nocycle -- 达到最大值后是否重新计算,当前为不重新计算,cycle为重新计算        nocache; -- 不要缓存,容易跳号 -- 创建触发器 CREATE OR REPLACE TRIGGER 触发器名称 BEFORE INSERT

Oracle 12c identity

在12c之前,如果想实现column的自动增长,通常是通过sequence来实现,然而这个问题在12c中得到了解决,Oracle推迟了identity column功能,该功能完美的解决了之前的问题,下面是我的简单测试,供参考! SQL> alter pluggable database all open; Pluggable database altered. SQL> select name,open_mode from V$pdbs; NAME OPEN_MODE -----------

《深入理解Oracle 12c数据库管理(第二版)》PDF

一:下载获取位置: 二:本书图样: 三:本书目录: 图书目录: 第1章 安装Oracle 1.1 了解OFA 1.1.1 Oracle清单目录 1.1.2 Oracle基础目录 1.1.3 Oracle主目录 1.1.4 Oracle网络文件目录 1.1.5 自动诊断信息库 1.2 安装Oracle 1.2.1 步骤1:创建OS组和用户 1.2.2 步骤2:确保充分配置了OS 1.2.3 步骤3:获取Oracle安装软件 1.2.4 步骤4:解压缩文件 1.2.5 步骤5:创建oraInst.l

oracle 主键应用序列和触发器实现自动增长

oracle 主键自动增长 这几天搞Oracle,想让表的主键实现自动增长,查网络实现如下: create table simon_example ( id number(4) not null primary key, name varchar2(25) ) -- 建立序列: -- Create sequence create sequence SIMON_SEQUENCE minvalue 1 maxvalue 999999999999999999999999999 start with 1

oracle 主键生成策略-sequence序列+trigger触发器

oracle中设置表的主键字段为自增序列(实例)1.首先创建一个表(如日志表) //删除库表中存在的日志表drop table S_LOG_INFO cascade constraints;//新建日志表create table S_LOG_INFO ( PRIMARYKEY NUMBER not null,//主键 USERACCOUNT VARCHAR2(50),//操作用户账号 USERNAME VARCHAR2(100),//操作用户 OPERATIONTIME DATE,//操作时间

zabbix监控oracle 12c

zabbix监控oracle 12c 前言 某公司需要监控Oracle 12C,采用orabbix是zabbix监控oracle数据库的插件,修改一些地方就可以监控了. 一.安装配置 mkdir /opt/orabbix cd /opt/orabbix mv conf/config.props.sample conf/config.props cp init.d/orabbix /etc/init.d/ chmod +x /etc/init.d/orabbix chkconfig orabbix

Oracle 12c 多租户家族(12c 18c 19c)如何在 PDB 中添加 HR 模式

Oracle 12c 多租户家族(12c [12.2.0.1].18c [12.2.0.2].19c [12.2.0.3])如何在 PDB 中添加模式:19c (19.3) 手工添加示例 HR 用户 Oracle 12c 如何在 PDB 中添加 SCOTT 模式(手工方式) Oracle 12c 如何在 PDB 中添加 SCOTT 模式(数据泵方式) 目录 1. 配置TNSNAMES.ora 2. 连接PDB 3. 执行脚本 1. 配置TNSNAMES.ora 略,请参考 12c 手工方式和 1

Oracle 12c新特性对于业务上的一些影响总结

1.不可见字段 在Oracle 11g R1中,Oracle以不可见索引和虚拟字段的形式引入了一些不错的增强特性.继承前者并发扬光大,Oracle 12c R1中引入了不可见字段思想.在之前的版本中,为了隐藏重要的数据字段以避免在通用查询中显示,我们往往会创建一个视图来隐藏所需信息或应用某些安全条件. 在12c R1中,你可以在表中创建不可见字段.当一个字段定义为不可见时,这一字段就不会出现在通用查询中,除非在SQL语句或条件中有显式的提及这一字段,或是在表定义中有DESCRIBED.要添加或是