Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR ALTER PROCEDURE SP_TESTE_EXEC_BANCO_LOG (
- inSQL VARCHAR(30000) NOT NULL
- ) AS BEGIN
- -- Bloco de execucao
- BEGIN
- EXECUTE statement :inSQL
- WITH COMMON TRANSACTION
- WITH CALLER PRIVILEGES
- AS USER 'sysdba'
- PASSWORD 'masterkey'
- ON EXTERNAL DATA SOURCE 'localhost:C:\BANCOS\BASE_LOGS.FDB';
- -- Tratamento de excessao
- WHEN any do
- BEGIN
- -- Nao precisa fazer nada, apenas para nao gerar mensagem de esceessao
- END
- END
- -- Final do bloco
- END;
- -- Utilizacao
- CREATE OR ALTER TRIGGER TRG_PRODUTO_TESTE FOR PRODUTO
- active BEFORE UPDATE POSITION 0
- AS
- DECLARE variable vs_Comando VARCHAR(2500);
- BEGIN
- /* Trigger text */
- IF (NEW.DESCPRODUTO IS DISTINCT FROM OLD.DESCPRODUTO) THEN
- BEGIN
- vs_Comando = 'insert into LOGS_PRODUTO (CODPRODUTO,VALOR_INICIAL,VALOR_FINAL)
- values ('|| NEW.CODPRODUTO ||','''|| OLD.DESCPRODUTO ||''','''|| NEW.DESCPRODUTO ||''')';
- EXECUTE PROCEDURE SP_TESTE_EXEC_BANCO_LOG(:vs_Comando);
- END
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement