Advertisement
econz

Firebird - External Data Source

Feb 3rd, 2017
324
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.08 KB | None | 0 0
  1. CREATE OR ALTER PROCEDURE SP_TESTE_EXEC_BANCO_LOG (
  2.    inSQL  VARCHAR(30000) NOT NULL
  3. ) AS BEGIN
  4.  
  5.  
  6.    -- Bloco de execucao
  7.    BEGIN
  8.       EXECUTE statement :inSQL
  9.          WITH COMMON TRANSACTION
  10.          WITH CALLER PRIVILEGES
  11.          AS USER 'sysdba'
  12.          PASSWORD 'masterkey'
  13.          ON EXTERNAL DATA SOURCE 'localhost:C:\BANCOS\BASE_LOGS.FDB';
  14.  
  15.       -- Tratamento de excessao
  16.       WHEN any do
  17.       BEGIN
  18.          -- Nao precisa fazer nada, apenas para nao gerar mensagem de esceessao
  19.       END
  20.  
  21.    END
  22.    -- Final do bloco
  23.  
  24. END;
  25.  
  26.  
  27.  
  28. -- Utilizacao
  29.  
  30. CREATE OR ALTER TRIGGER TRG_PRODUTO_TESTE FOR PRODUTO
  31. active BEFORE UPDATE POSITION 0
  32. AS
  33. DECLARE variable vs_Comando VARCHAR(2500);
  34. BEGIN
  35.  
  36.    /* Trigger text */
  37.    IF (NEW.DESCPRODUTO IS DISTINCT FROM OLD.DESCPRODUTO) THEN
  38.    BEGIN
  39.       vs_Comando = 'insert into LOGS_PRODUTO (CODPRODUTO,VALOR_INICIAL,VALOR_FINAL)
  40.                     values ('|| NEW.CODPRODUTO ||','''|| OLD.DESCPRODUTO ||''','''|| NEW.DESCPRODUTO ||''')';
  41.  
  42.       EXECUTE PROCEDURE SP_TESTE_EXEC_BANCO_LOG(:vs_Comando);
  43.    END
  44.  
  45. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement