Fórum Dificuldade de criar trigger #406458
12/08/2011
0
preciso de ajuda para criar uma trigger de auto icrement no campo id_aluno que nao precise digitar nenhum valorseja automatico:
me ajudem
CREATE SEQUENCE "ALUNO_NOVO" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE/ CREATE OR REPLACETRIGGER ALUNO_TRIGG BEFORE INSERT ON ALUNOFOR EACH ROWBEGIN <<COLUMN_SEQUENCES>> BEGIN IF :NEW.ID_ALUNO IS NULL THEN SELECT ALUNO_NOVO.NEXTVAL INTO :NEW.ID_ALUNO FROM DUAL; END IF; END COLUMN_SEQUENCES;END;
me ajudem
Izac Junior
Curtir tópico
+ 0
Responder
Posts
16/08/2011
Wilson Junior
de uma olhada nestes links
http://earlruby.org/2009/01/creating-auto-increment-columns-in-oracle/
http://www.bau-de-dev.com/banco-de-dados/como-criar-um-campo-auto-increment-no-oracle
http://www.datanamic.com/support/autoinc-oracle.html
Espero ter colaborado.
http://earlruby.org/2009/01/creating-auto-increment-columns-in-oracle/
http://www.bau-de-dev.com/banco-de-dados/como-criar-um-campo-auto-increment-no-oracle
http://www.datanamic.com/support/autoinc-oracle.html
Espero ter colaborado.
Responder
Gostei + 0
16/08/2011
Marco Pinheiro
Tente usar este comando. Onde está:
SELECT ALUNO_NOVO.NEXTVAL INTO :NEW.ID_ALUNO FROM DUAL;
Tente
SELECT ROW_NUMBER() OVER (PARTITION BY campo ORDER BY campo) AS IDPARTIDA INTO :NEW.ID_ALUNO FROM DUAL;
Este comando já faz o sequencial sem usar o SEQUENCE.
Onde está o comando PARTITION BY vc pode usar como quebra. Tipo assim:
Filial Sequencial
1 2
1 1
2 3
2 0
2 5
Usando o PARTITION BY ele faz a quebra, assim:
Filial Sequencial
1 1
1 2
2 1
2 2
2 3
Sem o PARTITION BY ele faz o sequencial puro:
Filial Sequencial
1 1
1 2
2 3
2 4
2 5
Att.,
Marco.
SELECT ALUNO_NOVO.NEXTVAL INTO :NEW.ID_ALUNO FROM DUAL;
Tente
SELECT ROW_NUMBER() OVER (PARTITION BY campo ORDER BY campo) AS IDPARTIDA INTO :NEW.ID_ALUNO FROM DUAL;
Este comando já faz o sequencial sem usar o SEQUENCE.
Onde está o comando PARTITION BY vc pode usar como quebra. Tipo assim:
Filial Sequencial
1 2
1 1
2 3
2 0
2 5
Usando o PARTITION BY ele faz a quebra, assim:
Filial Sequencial
1 1
1 2
2 1
2 2
2 3
Sem o PARTITION BY ele faz o sequencial puro:
Filial Sequencial
1 1
1 2
2 3
2 4
2 5
Att.,
Marco.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)