Ola. Estou com um problema.
Como eu faço para pegar os valores da ultima linha que estou inserindo para jogar para outra tabela?
Estou tentando fazer um trigger mais esta falhando.
Como faço para uma trigger enviar a ultima linha inserida para uma tabela de log?
Obrigado
Rafael R. Machado
Pegar valor trigger
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother,
Em tua trigger, jogue o valor de :NEW.CAMPO em uma tabela de log.
Seria isso?
Em tua trigger, jogue o valor de :NEW.CAMPO em uma tabela de log.
Seria isso?
-
- Rank: Estagiário Pleno
- Mensagens: 7
- Registrado em: Sex, 06 Jun 2008 9:34 am
- Localização: Sorocaba-SP
Bom dia meu amigo
Então, é exatamente isso que quero fazer só não estou conseguindo fazer.
É bem simples, mais to apanhando aqui.
Eu criei uma tabela de teste, e nela vou jogar o endereço de e-mail que estou inserindo em outra tabela de teste.
Por favor oque esta errado aqui?
a tabela de email é assim
USERID,MAILADDR
na trigger que estou fazendo nesta tabela estou fazendo assim:
mas resulta sempre neste erro aqui:
O que esta errado aqui?
Valeu pela ajuda ai cara, sempre você que responde meus posts uhaua
Então, é exatamente isso que quero fazer só não estou conseguindo fazer.
É bem simples, mais to apanhando aqui.
Eu criei uma tabela de teste, e nela vou jogar o endereço de e-mail que estou inserindo em outra tabela de teste.
Por favor oque esta errado aqui?
a tabela de email é assim
USERID,MAILADDR
na trigger que estou fazendo nesta tabela estou fazendo assim:
CREATE OR REPLACE
TRIGGER TRIGGER1
AFTER INSERT ON MAIL
REFERENCING OLD AS old NEW AS new
BEGIN
insert into TABEL1 (COLUMN1,COLUMN2) values (:new.USERID, (select sequence1.nextval from dual));
END;
Error: ORA-04082: NEW or OLD references not allowed in table level triggers
Valeu pela ajuda ai cara, sempre você que responde meus posts uhaua
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother, seguem uns exemplos:
Caso não dê certo, mande pra gente.
CREATE TABLE teste (id number(05), email varchar2(50));
CREATE TABLE teste2 (email VARCHAR2(50));
CREATE OR REPLACE TRIGGER TESTE_TR_01
AFTER
INSERT
ON TESTE
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
BEGIN
INSERT INTO TESTE2(EMAIL)
VALUES(:NEW.EMAIL);
END;
INSERT INTO TESTE (id, email) VALUES (1,'paulotrevisolli@ig.com.br');
COMMIT;
SELECT * FROM teste;
SELECT * FROM teste2;
-
- Rank: Estagiário Pleno
- Mensagens: 7
- Registrado em: Sex, 06 Jun 2008 9:34 am
- Localização: Sorocaba-SP
Estamos quase la cara.
Só tem um probleminha, eu tenho uma sequence que tem que controla os ids da tabela de log.
Como faço pra declarar uma variavel que pode ter o valor dessa sequence?
Exemplo:
esse código aqui da erro.
Como declaro variáveis no oracle?
Obrigado pela ajuda cara.
Rafael R. Machado
Sorocaba
Só tem um probleminha, eu tenho uma sequence que tem que controla os ids da tabela de log.
Como faço pra declarar uma variavel que pode ter o valor dessa sequence?
Exemplo:
CREATE OR REPLACE
TRIGGER TRIGGER1
AFTER INSERT ON MAIL
REFERENCING OLD AS old NEW AS new
for each row
DECLARE
IDEvent int;
BEGIN
IDEvent := select sequence1.nextval from dual;
insert into TABLE1 (COLUMN1,COLUMN2);
values (IDEvent,:new.USERID);
END;
Como declaro variáveis no oracle?
Obrigado pela ajuda cara.
Rafael R. Machado
Sorocaba
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother,
Fica aqui um exemplo, para quem possa precisar:
Fica aqui um exemplo, para quem possa precisar:
DECLARE
vseq PLS_INTEGER;
BEGIN
SELECT TUASEQUENCE.NEXTVAL
INTO vseq
FROM dual;
EXCEPTION
WHEN OTHERS THEN
-- Trata tuas exceções aqui...
END;
Boa noite pessoal,
Procurei algum tópico aberto a respeito e o que encontrei mais perto foi esse.
Trabalho como programador e utilizo banco SQL e agora na faculdade estou utilizando banco ORACLE e apanhando bastante rsrs.
A minha dificuldade está no seguinte:
Preciso gravar em um campo a descrição mais o cod sequencial que a sequence gera através do nextval, tentei de varias maneiras:
Atribuindo a uma variavél, ex:
Concatenando direto no insert ex:
E através de um select também.
Porém é retornado o seguinte erro:
A referência S_SAIDA.NEXTVAL à Tabela, View ou Sequência não permitida neste contexto.
Alguém saberia me dizer , qual a correta forma de se manipular o nextval e concatena-lo com mais alguma informação?
Agradeço desde já.
Procurei algum tópico aberto a respeito e o que encontrei mais perto foi esse.
Trabalho como programador e utilizo banco SQL e agora na faculdade estou utilizando banco ORACLE e apanhando bastante rsrs.
A minha dificuldade está no seguinte:
Preciso gravar em um campo a descrição mais o cod sequencial que a sequence gera através do nextval, tentei de varias maneiras:
Atribuindo a uma variavél, ex:
v_num := s_saida.nextval
'descricao ' + to_char(s_saida.nextval)
Porém é retornado o seguinte erro:
A referência S_SAIDA.NEXTVAL à Tabela, View ou Sequência não permitida neste contexto.
Alguém saberia me dizer , qual a correta forma de se manipular o nextval e concatena-lo com mais alguma informação?
Agradeço desde já.
-
- Rank: Analista Pleno
- Mensagens: 124
- Registrado em: Sáb, 18 Nov 2006 11:51 am
- Localização: Rio de Janeiro - RJ
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes