Oracle中序列的操作以及使用前对序列的初始化

Oracle中序列的操作以及使用前对序列的初始化

一 创建序列

create sequence myseq

start with 1

increment by 1

nomaxvalue

minvalue 1

二 初始化序列

select myseq.nextval from dual;

这里值得注意的是,如果先直接写select myseq.currval from dual,会提示会提示myseq.currtval尚未在此会话中定义。

www.2cto.com

三 使用序列

初始化序列之后才可以使用该序列,我们以ibatis为例。

<insert id="insert" parameterClass="Student">

<selectKey resultClass="String" keyProperty="mid">

select myseq.nextval from dual

</selectKey>

<![CDATA[

insert into Student(id,name,age)

values(#mid#,#mname#,#mage#)

]]>

</insert>

www.2cto.com

四 修改序列

在修改序列的时,有以下值不能修改

1 不能修改序列的初始值

2 序列的最小值不能大于当前值(currval)

3 序列的最大值不能小于当前值(currval)

alter sequence myseq

increment by 2

五 删除序列

drop sequence myseq

时间: 2024-12-26 05:06:53

Oracle中序列的操作以及使用前对序列的初始化的相关文章

【Oracle】Oracle中的常用操作

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

Oracle中获取当前时间半小时前的时间

最近项目中有个要根据半个小时前的数据情况判断某一栏位的值,但是一直没想到怎样获取当前时间的半小时前的时间,今天突然想到可以通过sysdate做差来获取,比如sysdate-1这样的,刚开始没有对结果进行细看,以为不可以,后来不经意看了之前的结果发现sysdate-1获得的是当前时间的前一天,也就是说sysdate-n获得的是当前时间n天前的结果,所以就试了sysdate-0.5/24这样就获得了需要的结果.OK大功告成.

Oracle中日期常用操作及函数

--(以系统时间为例,实际情况更换即可) 1 读取系统时间 – sysdate Select sysdate from dual; 2 读取时间信息(年.月.日.时.分.秒) select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串 select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年 select to_char(sysd

oracle中避免sort操作

1.升序排列 create index ix_table1 on table1 (column1,column2); select column1,column2 from table1 order by column1,column2; 2.降序排列 create index ix_table1 on table1 (column1 desc,column2); select column1,column2 from table1 order by column1 desc,column2;

oracle中设置自增主键

首先,你要有一张表!CREATE TABLE example(ID Number(4) NOT NULL PRIMARY KEY,NAME VARCHAR(25),PHONE VARCHAR(10),ADDRESS VARCHAR(50));如果对于以上的建表语句还有疑问的话,建议您不要继续了!有那么些时间您还不如去看看金庸读读琼瑶!然后,你需要一个自定义的sequenceCREATE SEQUENCE emp_sequenceINCREMENT BY 1 -- 每次加几个START WITH

oracle中的数据集合操作

一.数据更新操作 DML语法中主要包括两个内容:查询与更新,更新主要包括:增加数据.修改数据.删除数据.其中这些操作是离不开查询的.         1.增加数据 语法:INSERT INTO 表名称 [(字段名称1, 字段名称2,-)] VALUES(数据1,数据2-..): 注意:     1.对于字符串需要使用""括起来     2.对于时间可以使用to_date()进行转换     3.数字就直接写 范例:向myemp表中插入一条数据 INSERT INTO myemp(emp

oracle中utl_file包读写文件操作实例学习

在oracle中utl_file包提供了一些操作文本文件的函数和过程,学习了一下他的基本操作 1.创建directory,并给用户授权 复制代码 代码如下: --创建directory create or replace directory TESTFILE as '/home/oracle/zxx/test'; --给用户授权 grant read, write on directory TESTFILE to zxx; 详细介绍 http://download.oracle.com/docs

对oracle中date/timestamp的操作

设置oracle中date的会话格式为 'yyyy-mm-dd hh24:mi:ss' alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; 设置oracle中timestamp的会话格式为 ‘yyyy-mm-dd hh24.mi.ss.ff’ alter session set nls_timestamp_format='yyyy-mm-dd hh24.mi.ss.ff'; c#中向oracle中插入date 可以直接操作日期数据

Oracle中如何实现Mysql的两表关联update操作

在看<MySQL 5.1参考手册>的时候,发现MySQL提供了一种两表关联update操作.原文如下: UPDATE items,month SET items.price=month.price WHERE items.id=month.id; 在MySQL中构造表验证了一下 mysql> select * from test; +------+--------+ | id | salary | +------+--------+ | 1 | 100 | | 2 | 200 | | 3