sou novo no Oracle, antes trabalhava com SQL SERVER, e me deparei com algo que ja estou a horas tentando solucionar mas nao consegui.
Nessa Trigger que vou postar, quando mando compilar ela, fala que esta faltando uma virgula, apos o values, mas nao precisa dela e nao acho onde pode ser essa virgula faltante.
CREATE OR REPLACE TRIGGER JOBS_CL_INSERE_USUARIO
AFTER
INSERT OR
UPDATE OF EXPORTADA_AVA
ON SITE_USUARIOS
REFERENCING NEW AS NEW
BEGIN
INSERT INTO BLACKBEAN.TBL_USERS
VALUES
(NULL,
'INSERT',
NULL,
'db',
'0',
'0',
'0',
TO_CHAR(:NEW.CPF),
MD5(:NEW.CPF||'port@l'),
TO_CHAR(:NEW.CPF),
SUBSTRING(:NEW.NOME, 1, INSTR(:NEW.NOME, ' ')-1),
SUBSTRING(:NEW.NOME, INSTR(:NEW.NOME, ' ')+1, LEN(:NEW.NOME)),
'email@email.com',
NULL,
NULL,
DATE_TO_UNIX_TS(SYSDATE),
NULL,
NULL);
END;
/
Se alguem puder me ajudar agradeceria.
tenho um campo status. Então, a ideia é mudar o status. Consigo alterar o status quando necessário. Daí, pensei em todas vez que alterar, salvar o id do usuário, data, hora, o último status alterado...
consigo fazer isso com INSERT, depois do UPDATE.
Nao uso trigger. Até tentei fazer, mas não saiu como eu queria.
Então, para os maiores entendedores do assunto, a melhor prática seria a TRIGGER ou INSERT ? Melhor prática ou o que mais funciona na prática ?
Gostaria de saber se alguém tem uma trigger para fazer log de qualquer tipo de transação de dados em qualquer tabela do banco. Porém, preciso carregar um campo UserName que será setado a cada conexão via login php
SET @UserName = 'ZeBala'
Achei vários exemplos porém tenho q criar um trigger para cada tabela
CREATE TRIGGER roles_audit_au AFTER UPDATE ON `<nome_tabela>`
Existe uma forma de não ser direcionada?
Prezados, desenvolvi um gatilho onde este tem comunicação com outra tabela, uma é a coleta_sinal_vital, e onde o gatilho foi criado é na table itcoleta_sinal_vital ( esta possui uma fk da primeira), a questão é que dentro do gatilho realizo um select na primeira tabela para consultar o valor inserido em uma coluna da primeira tabela, faço essa consulta baseada nessa fk que esta sendo inserida ou seja where = :new.cd_coleta_sinal_vital, a questão é que no momento em que esse select é executado ele não retorna dado nenhum, acredito que isto ocorre porque a inserção em ambas as tabelas é feito de forma simultânea, pois se comparado posteriormente o valor da coluna sempre é inserido, gostaria de saber se existe alguma forma de aplicar uma espera ou atraso neste gatilho para que ele possa capturar este valor sem problemas, grato!