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;
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.