Vamos falar sobre SEQUENCES

Olá pessoal, estarei registrando aqui no blog uma série de recursos que são usados em nosso cotidiano no que se refere ao banco de dados ORACLE.

E as dicas desta vez serão referentes a SEQUENCES.

Uma SEQUENCE é um objeto no Oracle que é usado para gerar uma seqüência de números. Pode ser útil quando você precisa criar um número exclusivo para atuar como uma chave primária. Lembrando que uma SEQUENCE é do tipo “autonumber”.

A Sintaxe de criação é a seguinte :

CREATE SEQUENCE sequence_name
MINVALUE value
MAXVALUE value
START WITH value
INCREMENT BY value
CACHE value;

Vamos criar uma como exemplo :

CREATE SEQUENCE empregados_seq
MINVALUE 1 ( aqui é o valor mínimo da sequence)
MAXVALUE 999999999999999999999999999 ( aqui é o valor máximo da sequence)
START WITH 1
( número que a sequence será iniciada. Aqui você pode colocar o número que quiser, sabendo que ela dará continuidade a partir daqui)
INCREMENT BY 1 ( significa que ela irá criar outros números de 1 em 1. Você pode mudar pro número que quiser também, mas a boa prática é que seja de 1 em 1)
CACHE 20;

Com uma SEQUENCE criada, veja como ela pode ser usada quando você fizer um INSERT na tabela :
INSERT INTO suppliers (id, name) VALUES (empregados_seq.NEXTVAL, ‘Eduardo’);

Para saber o número atual de uma SEQUENCE :
select empregados_seq.CURRVAL from dual;

Para saber o próximo número de uma SEQUENCE :
select empregados_seq.NEXTVAL from dual;

Para alterar uma SEQUENCE para, por exemplo, mudar o número de incremento :
ALTER SEQUENCE empregados_seq INCREMENT BY 5;

Para dropar uma SEQUENCE é muito simples:
DROP SEQUEMCE empregados_seq;

Para saber quais são as SEQUENCES cadastradas no banco, você pode consultar pelo seguinte código :
select * from all_sequences where sequence_owner = ‘<dono do esquema logado>’

Bom pessoal, é isso ai. Façam bom uso.

Dúvidas, entre em contato.

Forte abraço.

Eduardo Santana
bufallos@bufallos.com.br

Leave a Reply

Your email address will not be published. Required fields are marked *