oracle中如何为字符串创建序列??
举一个例子??
举一个例子??
解决方案 »
- 问个简单问题,在ORACLE这种写法怎么实现?
- oracle 表数据实时复制
- 各位老大,我现在有一个sqlserver的存储过程,想改成oracle的。请帮手
- ORACLE的SQL语句运行没反应!请高手指点!
- 一个SQL复制语句?
- 插入,更新时,自动填充默认值
- 存储过程出现缓冲溢出的问题
- 如何添加字段到任意位置
- oracle9i安装问题安装程序无法启动
- ORA-04031: unable to allocate 2560 bytes of shared memory ("large pool","unknown object","session heap","First curdef allocation
- 用Oracle SQL Developer 将MS SQL Server 数据库迁移到 Oracle 11g,“定位源插件”检测失败。
- 求助:JDeveloper+Application Development Framework
seq.currval=a then
seq.nextval=b?
create sequence seqtest1
start with 65
maxvalue 90
minvalue 65
cycle;
create sequence seqtest2
start with 65
maxvalue 90
minvalue 65
cycle;
create sequence seqtest3
start with 65
maxvalue 90
minvalue 65
cycle;
declare
a number:=seqtest1.nextval;
b number:=seqtest2.nextval;
c number:=seqtest3.nextval;
begin
execute immediate 'create global temporary table tmp(a varchar2(10))' ;
for i in 1..1000 loop
execute immediate 'insert into tmp values(chr(:1)||chr(:2)||chr(:3))'using a,b,c;
if b=90 and c=90 then a:=seqtest1.nextval; end if;
if c=90 then b:=seqtest2.nextval; end if;
c:=seqtest3.nextval;
end loop;
end;
A
AAA
AAB
AAC
AAD
AAE
AAF
AAG
AAH
AAI
AAJ
AAK
...
什么是为字符串串创建序列呀。可以create sequence来创建sequence,这里的sequence是数字字段,你可以自己来进行处理变成字符呀。
用3个seq的可以,也可以用一个seq来实现,进行一下转换, 3个seq的性能要低于用一个seq的。
create sequence sequence_name [increment by n] [start with n] [{maxvalue n | nomaxvalue(默认) }]
[{minvalue n | nominvalue (默认)}] [{cycle | nocycle (默认)}] [{cache n | nocache(默认20)}];
alter sequence sequence_name [increment by n] [{maxvalue n | nomaxvalue }] [{minvalue n | nominvalue }]
[{cycle | nocycle}] [{cache n | nocache}];
首次引用序列时,只能使用伪列nextval;修改序列时,序列的初始值不能修改。
nextval即序列的下一个值,currentval是当前序列值
若要创建sx_01、sx_02这样的值,可以创建一个序列,然后在使用to_char