Você pode acessar alguns valores em gatilhos plsh.
- UPDATE oferece apenas ANTIGO
- INSERT oferece apenas NOVO (duh)
- DELETE Não testei
Então você obtém esses valores usando argumentos, como $ 1, $ 2
Sua função ficaria mais ou menos assim:
CREATE FUNCTION tarifador_func2() RETURNS TRIGGER
LANGUAGE plsh
AS $$
#!/bin/sh
/usr/bin/php /var/www/html/...regras.php $3 $6 $1
$$;
Observe que eu não usei
$1 $2 $3
, isso porque plsh
extensão despeja TODOS colunas em argumentos para que sejam declarados em sua tabela. Então você pode fazer algo como INSERT INTO table1 (column3) VALUES (6);
e estará sob $3
em plsh
, assumindo que esta é a terceira coluna na tabela. Como uma observação lateral, os metadados do gatilho estão disponíveis por meio de env vars.