Random value based on sequence : Value « Sequences « Oracle PL/SQL Tutorial






SQL> create table emp (id number(6) );

Table created.

SQL>
SQL> alter table emp modify id number(12);

Table altered.

SQL>
SQL> create sequence cust_seq cache 1000
  2  start with 100000;

Sequence created.

SQL>
SQL> create or replace procedure gen_emp is
  2   v_new_cid emp.id%type;
  3  begin
  4   insert into emp values (cust_seq.nextval*100000+ round(dbms_random.value(100000,999999)));
  5  end;
  6  /

Procedure created.

SQL>
SQL> begin
  2      for i in 1 .. 10000 loop
  3          gen_emp;
  4      end loop;
  5      commit;
  6  end;
  7  /

PL/SQL procedure successfully completed.

SQL>
SQL>
SQL> drop sequence cust_seq;

Sequence dropped.

SQL>
SQL>
SQL> drop table emp;

Table dropped.








5.6.Value
5.6.1.Set start value, mini/max value and cache
5.6.2.Once initialized, you can get the current value from the sequence using currval.
5.6.3.When you select currval , nextval remains unchanged; nextval only changes when you select nextval to get the next value.
5.6.4.Query current sequence value
5.6.5.Get next value from sequence
5.6.6.select deptno_seq.currval, deptno_seq.nextval
5.6.7.Automatically including unique sequence numbers during an INSERT.
5.6.8.Use dual table to check sequence
5.6.9.Random value based on sequence
5.6.10.If id is null, use the value from sequence