PS做网站页面尺寸,我想做网站怎么做,小说网站建设目的,桐乡app开发序列#xff08;SEQUENCE#xff09;序列是一数据库对象#xff0c;利用它可生成唯一的整数。由于它属于可共享对象#xff0c;所以允许多个用户访问。一般情况下#xff0c;序列用于创建主键值。
序列号的存储和生成与表无关。因此#xff0c;同一序列可以用于多个表。
…序列SEQUENCE序列是一数据库对象利用它可生成唯一的整数。由于它属于可共享对象所以允许多个用户访问。一般情况下序列用于创建主键值。
序列号的存储和生成与表无关。因此同一序列可以用于多个表。
一、创建序列
create sequence 序列名
[increment by n] --指定序列号的间隔值其中n 为整数
[start with n] --指定要生成的第一个序列号如果省略该语句序列将从1 开始
[{maxvalue n | nomaxvalue}] --指定当序列达到其最大值或最小值后是否继续生成值 NOMAXVALUE是默认选项代表没有最大值定义这时对于递增 序列系统能够产生的最大值是10的27次方;对于递减序列最大值是-1。 MINVALUE定义序列生成器能产生的最小值。选项NOMAXVALUE是 默认选项代表没有最小值定义这时对于递减序列系统能够产生 的最小值是?10的26次方;对于递增序列最小值是1。
[{minvalue n | nominvalue}]
[{cycle | nocycle}] ---表示当序列生成器的值达到限制值后是否循环。 CYCLE代表循环NOCYCLE代表不循环。如果循环则当递增序列达到最大值时循环到最 小值;对于递减序列达到最小值时循环到最大值。如果不循环达到限制值后继续产生新值 就会发生错误。
[{cache n | nocache}]; --指定Oracle 服务器预先分配并保留在内存中的值的个数。默认20如果系统崩溃这些值将丢失。实例
create sequence user_seqincrement by 1start with 1maxvalue 50000nocachenocycle;二、查询序列
1要验证序列已创建请查询user_sequences数据字典。要查看序列的所有设置请按如下所示方式查询USER_SEQUENCES 数据字典。
select sequence_name, min_value, max_value, increment_by, last_number from user_sequences;
2查看当前用户的所有序列 select sequence_owner,sequence_name from dba_sequences where sequence_ownerPPNIE;
注意sequence_owner的值必须为大写不管你的用户名是否大写。只有大写才能识别。3查询当前用户的序列总数
select count(*) from dba_sequences where sequence_owner用户名;4生成删除该用户下的序列号的sql语句
select drop sequence ||sequence_name || ; from dba_sequences where sequence_ownerPPNIE; 三、nextval和currval使用
nextval 伪列用于从指定序列中提取连续的序列号。必须用序列名来限定nextval。
在引用“序列名.nextval”时会生成新的序列号并将当前的序列号放置在currval 中。insert into t_user(uiid,uname) values(user_seq.nextval,系统管理员);可以在下列上下文中使用nextval 和currval
不属于子查询的select 语句的select 列表insert 语句中子查询的select 列表insert 语句的values 子句update 语句的set 子句四、修改序列 alter sequence 序列名 [increment by n] [{maxvalue n | nomaxvalue}] [{minvalue n | nominvalue}] [{cycle|nocycle}] [{cache n|nocache}];
注意不能修改序列的初始值
alter sequence seq_empid
increment by 2;注
Oracle修改序列Sequence起始值的方法五、删除序列drop sequence 序列名;drop sequence seq_empid