oracle sequence用法_oracle赋值

oracle sequence用法_oracle赋值创建sequence:createsequenceseq_testincrementby1startwith1noMaxValuenoCyclecache10;createsequenceseq_test2minvalue1maxvalue21startwith1incrementby1cache20cycleorder;minValue:指定序列最小值。maxV…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

创建sequence:

create sequence seq_test

increment by 1

start with 1

noMaxValue

noCycle

cache 10;

create sequence seq_test2

minvalue 1

maxvalue 21

start with 1

increment by 1

cache 20

cycle

order;

minValue: 指定序列最小值。

maxValue: 指定序列最大值。

increment by: 指定序列增长步长,可以为正(升序)、负整数(降序),但不能为0。

start with:指定序列起始数,默认为序列最小值。

noMaxValue:无最大值(实际为10^27或-1),默认。

noMinValue:无最小值(实际为1或-10^26),默认。

cycle:指定序列达到最大值或最小值后继续从头开始生成。

noCycle:不循环生成,默认。

cache:指定数据库内存中预分配的序列值个数,以便快速获取,最小cache值为2。如果系统关闭或者其它情况将会导致序列不连续,也可以设置为nocache。

noCache:不指定缓存数,默认缓存20。

order:指定order条件保证序列按请求顺序生成。

noOrder:不保证序列按请求顺序生成。

删除sequence:

drop sequence seq_test;

drop sequence seq_test2;

查看sequence值:

–查看sequence当前值

select seq_test.currval from dual;

–查看sequence下一个值,sequence发生变化

select seq_test.nextval from dual;

修改sequence:

alter sequence seq_test increment by 2;

alter sequence seq_test maxValue 99999999999;

修改sequence的初始值:

–将当前seq_test的值增加1000

alter sequence seq_test increment by 1000;

select seq_test.nextval from dual;

alter sequence seq_test increment by 1;

select seq_test.currval from dual;

sequence在表中应用:

–新建表

create table t_test(

uuid varchar2(20)

);

–插入sequence值

insert into t_test values(seq_test.nextval);

insert into t_test values(seq_test.nextval);

insert into t_test values(seq_test.nextval);

insert into t_test values(seq_test.nextval);

insert into t_test values(seq_test.nextval);

–查询

select * from t_test;

–删除表

drop table t_test;

sequence和触发器配合应用:

–新建表

create table t_test(

uuid varchar2(20),

name varchar2(20)

);

–新建触发器

create or replace trigger trg_test before insert on t_test for each row

begin

select seq_test.nextval into :new.uuid from dual;

end;

–插入数据

insert into t_test(name) values(‘n1’);

insert into t_test(name) values(‘n2’);

insert into t_test(name) values(‘n3’);

insert into t_test(name) values(‘n4’);

insert into t_test(name) values(‘n5’);

–查询

select * from t_test;

–删除

drop trigger trg_test;

drop table t_test;

查看当前用户下的sequence:

select * from all_sequences;

select * from user_sequences;

select * from user_sequences where sequence_name = upper(‘seq_test’);

select * from user_sequences where sequence_name = upper(‘seq_test2’);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180266.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • qtabwidget 高度,QTabWidget的大小取决于当前选项卡[通俗易懂]

    qtabwidget 高度,QTabWidget的大小取决于当前选项卡[通俗易懂]I’veaQTabWidget,whichcontainswidgetsofdifferentheights(theirwidthsarefixed),however,thedefaultimplementationofQTabWidgetselectsthebiggestwidget’sheightasownheight.WhatIwould…

    2022年9月15日
  • VDBENCH 试用

    VDBENCH 试用linux环境首先安装java环境建议直接安装jdk,32或者64,看你linux的版本。vdbench目录下 ./vdbench-t

    2022年5月12日
  • oracle建表语句例子_oracle建表语句例子带注释

    oracle建表语句例子_oracle建表语句例子带注释Oracle建表语句createtabletable_name( idnumner(12), textverchar2(255CHAR)notnull,statusnumber(1)DEFAULT0null–添加默认值如果为空默认值就为0)–添加主键ALTERTABLE"W…

    2022年9月7日
  • [数学建模] 大数据建模五步法「建议收藏」

    [数学建模] 大数据建模五步法「建议收藏」目录传送门概要第一步:选择模型或自定义模式第二步:训练模型第三步:评估模型第四步:应用模型第五步:优化模型最后语概要PS:本文转载自https://www.sohu.com/a/198093510_783844本文将尝试来梳理一下数据建模的步骤,以及每一步需要做的工作。第一步:选择模型或自定义模式这是建模的第一步,我们需要基于业务问题,来决定可以选择哪些可用的模型。比如,如果要预测产品销量,则可以选择数值预测模型(比如回归模型,时序预测……);如果要预测员工是否离职,则可以选择分类模型(比

    2022年6月9日
  • Python – 实现矩阵转置

    Python – 实现矩阵转置有个朋友提出了一个问题:手头上现在有一个二维列表,比如[[1,2,3],[4,5,6],[7,8,9],[10,11,12]],现在要把该二维列表变成为[[1,4,7,10],[2,5,8,11],[3,6,9,12]]。其实不动脑筋的话,用二重循环很容易写出来:#!/usr/bin/envpython3#-*-coding:utf-8-…

    2022年5月5日
  • 炸了!一口气问了我18个JVM问题!

    炸了!一口气问了我18个JVM问题!

    2020年11月20日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号