Oracle – Criando Sequence (CREATE SEQUENCE)

Posted by Bento | Posted in Artigos, Banco de Dados, Oracle | Posted on 26-02-2012-05-2008

5

Oracle/PLSQL: Criando Sequence (CREATE SEQUENCE)

Uma sequence é um gerador de numeros sequenciais, e pode ser parametrizada conforme sua necessidade.

Comando para criar a sequence
Sintaxe

create sequence TESTE_SEQ
minvalue 1
maxvalue 9999999999
start with 1
increment by 1
nocache
cycle;

minvalue = Valor minimo
max value = valor máximo que poderá chegar
start with = valor inicial
increment by 1 = (incremento), se este valor for 2, a sequence será incrementada como; 1,3,5,7,…
CYCLE = Sequencia será recomeçada ao atingir o valor maximo
NO CYCLE = default
OWNED BY table.col = Associa a uma coluna
OWNED BY NONE = sem associação

para testar a sequence

1
2
3
SELECT TESTE_SEQ.Nextval
-- Caso for testar no PL-SQL ou outro programa acrescente um from dual para obter o resultado.
SELECT TESTE_SEQ.Nextval FROM DUAL

Usando no seu código.

INSERT INTO teste_tb
(NR_SEQUENCIA, DT_IMPORTACAO, DS_USUARIO)
VALUES
(TESTE_SEQ.Nextval, '$DT_IMPORTACAO', '$DS_USUARIO');

Listando as sequences do usuário

select * from user_sequences;

Comments posted (5)

Muito bom =)

Thanks

O Owned by nao foi reconhecido como um comando pelo Oracle aqui. É esse comando mesmo ou mudaram?

João, tente acrescentar antes do comando de criação o banco da criação;
create sequence banco.TESTE_SEQ

bento eu coloquei assim

create sequence piramide.TESTE_SEQ
minvalue 1
maxvalue 9999999999
start with 1
increment by 1
nocache
cycle
OWNED BY piramide.colaborador.cod_colaborador;

ai diz que o camando sql não foi encerrado corretamente

Elvis, não é necessário informar o nome do atributo na criação, apenas o owner.

Write a comment