GALERA MEU PROBLEMA É O SEGUINTE... CRIEI UM TRIGGER PARA INSERIR O CODIGO DE UMA DETERMINADA TABELA POR EXEMPLO PESSOAS ONDE A CHAVE É COD_PESSOA...
FIQUEI SABENDO QUE AO INVEZ DE FAZER UMA TRIGGER PARA ESSA TABELA, QUANDO EU EDITO A TABELA NA COLUNA DEFAULT EU POSSO COLOCAR UM CODIGO QUE FUNCIONA COMO SE FOSSE UMA TRIGGER NA FRENTE DO CAMPO COD_PESSOA POR EXEMPLO ALGO ENTRE ASPAS USANDO NEXTVAL ALGO ASSIM....
alguém PODERIA ME AJUDAR NISSO... SE alguém já USOU ISSO E PUDESSE ME ESCLARECER FICO GRATO! OBRIGADO
TRIGGER OU DEFAULT
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:
alter table PESSOAS modify COD_PESSOA default seq_pessoas.nextval;
Oi VINAO,
Não sei quem te falou que dá pra usar uma sequence como default, ou uma função que chame a sequence, mas até onde eu sei, pelo menos até o 10g isso não é possível...
Caso queira inserir o número automaticamente, você não tem como escapar da trigger...
Não sei quem te falou que dá pra usar uma sequence como default, ou uma função que chame a sequence, mas até onde eu sei, pelo menos até o 10g isso não é possível...
Caso queira inserir o número automaticamente, você não tem como escapar da trigger...
executei exatamente como esta aqui no sql window do pl
alter table PESSOAS modify COD_PESSOA default seq_pessoas.nextval;
mas também não deu o seguinte erro a parte da sequencia coluna invalida aqui
obrigado
alter table PESSOAS modify COD_PESSOA default seq_pessoas.nextval;
mas também não deu o seguinte erro a parte da sequencia coluna invalida aqui
obrigado
-
- Rank: Programador Sênior
- Mensagens: 58
- Registrado em: Sex, 30 Out 2009 9:52 am
- Localização: Salvador - BA
- Contato:
Atenciosamente,
João Paulo A. C. do Bomfim
"Deu certo? Deixa! Funcionou? Não mexa!"
João Paulo A. C. do Bomfim
"Deu certo? Deixa! Funcionou? Não mexa!"
Bom,
Não entendi bem mas, não existe um tipo de variável(até onde eu sei)
tipo AUTO-INCREMENTO no oracle. O que você pode fazer é usar
SEQUENCE para popular essa coluna que representa a sua chave
primária.
Como não é algo novo em sua tabela a coluna CÓDIGO DA PESSOA vocë
pode dar um select max em COD_PESSOA e criar uma SEQUENCE com
Start With baseado nesse resultado. Depois Terá que mapear na sua
aplicação(caso exista) os momentos de INSERT e referenciar no
COD_PESSOA a SUA_SEQUENCE.nextval. Caso venha dar insert na mão,
tomar cuidado pra não deixar de usar essa SEQUENCE. No mais, você
pode criar uma trigger referenciando ela.
Tem coisas que não tem pra onde correr.
Não entendi bem mas, não existe um tipo de variável(até onde eu sei)
tipo AUTO-INCREMENTO no oracle. O que você pode fazer é usar
SEQUENCE para popular essa coluna que representa a sua chave
primária.
Como não é algo novo em sua tabela a coluna CÓDIGO DA PESSOA vocë
pode dar um select max em COD_PESSOA e criar uma SEQUENCE com
Start With baseado nesse resultado. Depois Terá que mapear na sua
aplicação(caso exista) os momentos de INSERT e referenciar no
COD_PESSOA a SUA_SEQUENCE.nextval. Caso venha dar insert na mão,
tomar cuidado pra não deixar de usar essa SEQUENCE. No mais, você
pode criar uma trigger referenciando ela.
Tem coisas que não tem pra onde correr.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes