Chinaunix首页 | 论坛 | 博客
  • 博客访问: 637934
  • 博文数量: 110
  • 博客积分: 2352
  • 博客等级: 大尉
  • 技术积分: 1253
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-29 14:00
文章分类
文章存档

2018年(1)

2013年(20)

2012年(89)

分类: Oracle

2012-08-03 09:50:02

如下sequence在10g中使用时会报错,但是在11g中使用时,一切OK.
1.
create sequence test_seq start with 1 increment by 1;
set serveroutput on;
declare
v_seq number;
begin
v_seq := test_seq.nextval();
dbms_output.put_line('v_seq value:'||v_seq);
end;
/

2.
create sequence test_seq start with 1 increment by 1;
set serveroutput on;
declare
v_seq number;
v_start_time number;
v_end_time number;
begin
v_start_time := dbms_utility.get_time;
for i in 1..1000 loop
select test_seq.nextval into v_seq from dual;
end loop;
v_end_time := dbms_utility.get_time;
dbms_output.put_line('Elapsed time to retrieve sequence via SELECT INTO:'||(v_end_time - v_start_time));
v_start_time := dbms_utility.get_time;
for i in 1..1000 loop
v_seq := test_seq.nextval;
end loop;
v_end_time := dbms_utility.get_time;
dbms_output.put_line('Elapsed time to retrieve sequence via PL/SQL expression:'||(v_end_time - v_start_time));
end;
/
阅读(2624) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~