`

Oracle 创建序列号

阅读更多

 

Oracle 创建序列号

1. 创建序列号里各参数的解释

SQL> CREATE SEQUENCE name [INCREMENT BY n]

[START WITH n] [{MAXVALUE n | NOMAXVALUE}]

[{MINVALUE n | NOMINVALUE}] [{CYCLE | NOCYCLE}]

[{CACHE n | NOCACHE}]

INCREMENT BY n 一次增长n 个数字

NOMAXVALUE 缺省值10E+27

NOMINVALUE 缺省值1

NOCYCLE 不循环, 常用于唯一关键字

CACHE n 在内存里缓存n个序列,出错回退时会丢失

oracle8i里默认的n是20

序列号的名称一般可以采用“表名_字段名”的命名规则

2. 插入自动增长序列号字段的方法

INSERT时如果要用到从1开始自动增长的数字做唯一关键字, 应该先建立一个序列号.

CREATE SEQUENCE 序列号的名称 (最好是表名+序列号标记) INCREMENT BY 1 START WITH 1

MAXVALUE 99999 NOCYCLE NOCACHE;

其中最大的值按字段的长度来定,比如定义的自动增长的序列NUMBER , 最大值为999999

INSERT 语句插入这个字段值为: 序列号的名称.NEXTVAL

例子: SQL> insert into s_dept(id, name, region_id) values (s_dept_id.nextval, 'finance', 2);

1 row created.

只有运行了序列号的名称. nextval后序列号的名称. currval 才有效才有值.

3. 查询序列号的情况

SQL> select sequence_name, min_value, max_value, increment_by, last_number from user_sequences;

其中last_number指的是序列号的下一个值.

4. 改变序列号

SQL> ALTER SEQUENCE sequence [INCREMENT BY n] [{MAXVALUE n | NOMAXVALUE}]

[{MINVALUE n | NOMINVALUE}]

[{CYCLE | NOCYCLE}] [{CACHE n | NOCACHE}];

注意: 不能改变它的起始值

如果要改变序列的起始值, 先把序列号删除掉, 再新建一个.

5. 删除序列号

SQL>DROP SEQUENCE sequence;

6. 不能用序列号的nextval和currval的地方

视图的查询

有distinct的查询

有group by,having,order by的查询

有子查询的查询

表里的缺省值

 

 

分享到:
评论

相关推荐

    oracle 如何创建序列代码

    oracle 如何创建序列,使用数据库命令如何创建,绝对好用

    Oracle 使用触发器创建自动序列号

    --创建触发器 CREATE OR REPLACE TRIGGER tg_test BEFORE INSERT ON test FOR EACH ROW WHEN (new.nid is null) begin select seq_test.nextval into:new.nid from dual; end; --测试 insert条语句将会自动生成...

    ORACLE实现自定义序列号生成

     (1)创建自定义序列号配置表如下: –自定义序列 create table S_AUTOCODE ( pk1 VARCHAR2(32) primary key, atype VARCHAR2(20) not null, owner VARCHAR2(10) not null, initcycle CHAR(1) not ...

    ORACLE实现自定义序列号生成的方法

    (1)创建自定义序列号配置表如下: --自定义序列 create table S_AUTOCODE ( pk1 VARCHAR2(32) primary key, atype VARCHAR2(20) not null, owner VARCHAR2(10) not null, initcycle CHAR(1) not null, cur_...

    java自动生成Oracle sequence管理类

    Oracle自增长主键自动生成类 public static int nextID String table { if table null return 1; table table toLowerCase ; String strKey table; if sequences containsKey strKey { ...

    Oracle创建自增字段–ORACLE SEQUENCE的简单使用介绍

    先假设有这么一个表: 代码... 在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。 1、Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限, CREAT

    Oracle SQL Handler(Oracle 开发工具) v5.1.zip

    国产原创,精品奉献,无序列号限制,仅凭使用满意度随意赞助就可永久使用!   Oracle SQL Handler 特点如下: ((1) 跨平台,能运行于平台 Windows(WIN7、WIN8、XP、NT、2000…)、Linux 、Mac OS; (2) 不...

    最全的oracle常用命令大全.txt

    ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup ...

    Oracle创建自增字段--ORACLE SEQUENCE的简单使用介绍

    在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方接下来为大家介绍下Oracle创建自增字段方法感兴趣的各位可不要错过了哈

    ORACLE9i_优化设计与系统调整

    §7.2 关于创建多个Oracle实例问题 93 §7.3 Oracle系统安装后的优化基础工作 94 §7.3.1 Oracle系统有关目录所有文件的保护 94 §7.3.2 避免新用户使用默认system系统表空间 94 §7.4 Oracle系统所在服务器的独立性...

    oracle实验报告

    soc_sec_num char(9) U NIQUE, /*内部序列号 foreign key(deptno) references dept(deptno)); 例2 复制一个与emp表的表结构相同的新空表emp2. 可输入如下命令: SQL>create table emp2 as select * from emp where 1...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    说明:Oracle中需要创建用户一定是要具有dba(数据库管理员)权限的用户才能创建,而且创建的新用户不具备任何权限,连登录都不可以。 用法:create user 新用户名 identified by 密码 例子: 2. 修改密码 说明:...

    Oracle9i数据库系统概述.pdf

    索引段一般存储在INDX表空间下 临时段:在执行查询、排序、等操作时, Oracle自动在TEMP表空间上创建一个临时段。 撤消段(回退段):记录数据库中所有事务 修改前的数据值,这些数据用于读一致性、回 退事务、恢复...

    Oracle数据库、SQL

    二十、 数据库对象:序列号sequence 44 20.1什么是sequence 44 20.2创建sequence 44 20.3缺省是nocycle(不循环) 44 20.4缺省cache 20 44 二十一、 其他注意事项 46 21.1删除表,删除列,删除列中的值 46 21.2多对...

    Oracle练习题库

    Oracle练习题,尽快成长自我,分析函数,聚合函数,常见函数--创建一个从1开始,默认最大值,每次增长1的序列,要求NOCYCLE,缓存中有30个预先分配好的 序列号

    MySQL转换Oracle的需要注意的七个事项

    Oracle没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。 CREATE SEQUENCE 序列号的名称 (最好是表名 序列号标记) INCREMENT BY 1 START WITH 1 MAXVALUE 99999 ...

    oracle数据库经典题目

    14. 每个Oracle 10g数据库在创建后都有4个默认的数据库用户:system、sys、sysman和DBcnmp 15. Oracle提供了两种类型的权限:系统权限和对象权限。系统权限提供了在Oracle数据库系统范围内执行某种任务的操作能力...

    通过实例了解Oracle序列Sequence使用方法

    创建序列的语法是: 语法结构:创建序列 CREATE SEQUENCE sequence_name [START WITH num] [INCREMENT BY increment] [MAXVALUE num|NOMAXVALUE] [MINVALUE num|NOMINVALUE] [CYCLE|NOCYCLE] [CACHE num|NOCACHE] ...

    Oracle9i的init.ora参数中文说明

    Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...

    远程桌面管理软件-Remote Desktop Manager v13.0.6.0+注册码

    终端服务,VNC,LogMeIn,Team Viewer,FTP,SSH,Telnet,Dameware,X Window,VMware,Virtual PC,PC Anywhere, Hyper-V, Citrix, Radmin, Microsoft Remote Assistance, Oracle Virtual Box 等等。 功能特点: ...

Global site tag (gtag.js) - Google Analytics