Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

SEQUENCE:

Sequence is used to create an auto number field. A sequence is an object that is used to generate a
number sequence.

Sequence is useful when you need to create a unique number to act as a primary key.

Syn:

CREATE SEQUENCE sequence_name


START WITH value
INCREMENT BY value
MINVALUE value
MAXVALUE value
CYCLE
CACHE value;

THIS IS COMPLETE SYNTAX OF SEQUENCE; WE CAN USE ENTIRE SYNTAX OR A PART OF SYNTAX ALSO.

SQL> CREATE SEQUENCE SEQ1


2 START WITH 1
3 INCREMENT BY 1;

Sequence created.

LET’S TAKE A TABLE TO INSERT DATA BY USING SEQ1 SEQUENCE.

SQL> CREATE TABLE SEQ_TAB(EID NUMBER(5),NAME VARCHAR(10),LOC VARCHAR(10));

Table created.

NOW WE WILL GIVE DATA TO TABLE WITH THE HELP OF SEQ1 SEQUENCE.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ1.NEXTVAL,'NANI','HYD');


1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ1.NEXTVAL,'SATYA','BANG');


1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ1.NEXTVAL,'RAMESH','CHENNAI');


1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ1.NEXTVAL,'SMITH','CHENNAI');


1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ1.NEXTVAL,'JAYANTH','PUNE');


1 row created.
SQL> SELECT * FROM SEQ_TAB;

EID NAME LOC


---------- ---------- ----------
1 NANI HYD
2 SATYA BANG
3 RAMESH CHENNAI
4 SMITH CHENNAI
5 JAYANTH PUNE

NOTE: IF DONT SPECIFY START AND INCREMENT VALUES THEN SEQUENCE TAKES START VALUE 1 AND
INCREMENT VALUE ALSO 1.

SQL> CREATE SEQUENCE SEQ2;


Sequence created.
SQL> INSERT INTO SEQ_TAB VALUES(SEQ2.NEXTVAL,'RENU','BANG');
1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ2.NEXTVAL,'RAMYA','BANG');


1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ2.NEXTVAL,'SUDHA','PUNE');


1 row created.

SQL> SELECT * FROM SEQ_TAB;

EID NAME LOC


---------- ---------- ----------
1 NANI HYD
2 SATYA BANG
3 RAMESH CHENNAI
4 SMITH CHENNAI
5 JAYANTH PUNE
1 RENU BANG
2 RAMYA BANG
3 SUDHA PUNE

8 rows selected.

IN THE ABOVE TABLE EIDs 1,2,3,4 AND 5 ARE GIVEN BY SEQ1 SEQUENCE AND EDIs 1,2 AND 3 ARE GIVEN
BY SEQ2 SEQUENCE.
NOW LETS TAKE A COMPLETE SYNTAX OF SEQUENCE.

SQL> CREATE SEQUENCE SEQ3


2 START WITH 10
3 INCREMENT BY 1
4 MINVALUE 10
5 MAXVALUE 20
6 CYCLE
7 CACHE 5;

Sequence created.

IN THE ABOVE SEQ3 SEQUENCE, THE VALUES WILL START FROM 10 AS STARTING VALUE IS 10 AND THE
ENDING NUMBER IN THE SEQUENCE IS 20.

GENERALLY IF THE SEQUENCE REACHES MAXVALUE THEN IT WILL NOT GIVE THE NEXT VALUE AFTER
MAXVALUE, SO IT WILL FAIL.

TO AVAOID FAILURE WE CAN REPEATE THE SAME RANGE FROM MINVALUE TO MAXVALUE ANY
NUMBER OF TIMES BY USING AN OPTION CYCLE.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ3.NEXTVAL,'MAHESH','DELHI');


1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ3.NEXTVAL,'PAVAN','DELHI');


1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ3.NEXTVAL,'CHARAN','HYD');


1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ3.NEXTVAL,'BANNI','HYD');


1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ3.NEXTVAL,'MANI','HYD');


1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ3.NEXTVAL,'CHANDU','BANG');


1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ3.NEXTVAL,'KOTI','BANG');


1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ3.NEXTVAL,'RAMESH','CHENNAI');


1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ3.NEXTVAL,'SASI','CHENNAI');


1 row created.
SQL> INSERT INTO SEQ_TAB VALUES(SEQ3.NEXTVAL,'KOTI','CHENNAI');
1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ3.NEXTVAL,'KIRAN','CHENNAI');


1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ3.NEXTVAL,'SONI','CHENNAI');


1 row created.

SQL> INSERT INTO SEQ_TAB VALUES(SEQ3.NEXTVAL,'KIRAN','BANG');


1 row created.

SQL> SELECT * FROM SEQ_TAB;

EID NAME LOC


---------- ---------- ----------
1 NANI HYD
2 SATYA BANG
3 RAMESH CHENNAI
4 SMITH CHENNAI
5 JAYANTH PUNE
1 RENU BANG
2 RAMYA BANG
3 SUDHA PUNE
10 MAHESH DELHI
11 PAVAN DELHI
12 CHARAN HYD
13 BANNI HYD
14 MANI HYD
15 CHANDU BANG
16 KOTI BANG
17 RAMESH CHENNAI
18 SASI CHENNAI
19 KOTI CHENNAI
20 KIRAN CHENNAI
10 SONI CHENNAI
11 KIRAN BANG

21 rows selected.

WE CAN CHANGE ALL VALUES IN A SEQUENCE BY USING AN ALTER COMMAND.


SQL> ALTER SEQUENCE SEQ3 CACHE 6;
Sequence altered.

SQL> ALTER SEQUENCE SEQ3 CYCLE;


Sequence altered.

SQL> ALTER SEQUENCE SEQ3 MINVALUE 5;


Sequence altered.

SQL> ALTER SEQUENCE SEQ3 MAXVALUE 25;


Sequence altered.

SQL> ALTER SEQUENCE SEQ3 INCREMENT BY 2;


Sequence altered.

TO SEE NEXT VALUE IN THE SEQUENCE:

SQL> SELECT SEQ3.NEXTVAL FROM DUAL;

NEXTVAL
----------
12

TO SEE CURRENT VALUE IN THE SEQUENCE


SQL> SELECT SEQ3.CURRVAL FROM DUAL;

CURRVAL
----------
11

You might also like