1#include <stdio.h> 2#include <stdlib.h> 3#include <string.h> 4 5EXEC SQL INCLUDE ../regression; 6 7int main() { 8 EXEC SQL char text[25]; 9 10 ECPGdebug(1, stderr); 11 EXEC SQL CONNECT TO REGRESSDB1; 12 13 EXEC SQL SET AUTOCOMMIT TO ON; 14 EXEC SQL WHENEVER SQLWARNING SQLPRINT; 15 EXEC SQL WHENEVER SQLERROR SQLPRINT; 16 17 EXEC SQL CREATE TABLE My_Table ( Item1 int, Item2 text ); 18 EXEC SQL CREATE TABLE Log (name text, w text); 19 20 EXEC SQL CREATE FUNCTION My_Table_Check() RETURNS trigger 21 AS $test$ 22 BEGIN 23 INSERT INTO Log VALUES(TG_NAME, TG_WHEN); 24 RETURN NEW; 25 END; $test$ 26 LANGUAGE plpgsql; 27 28 EXEC SQL CREATE TRIGGER My_Table_Check_Trigger 29 BEFORE INSERT 30 ON My_Table 31 FOR EACH ROW 32 EXECUTE PROCEDURE My_Table_Check(); 33 34 EXEC SQL INSERT INTO My_Table VALUES (1234, 'Some random text'); 35 EXEC SQL INSERT INTO My_Table VALUES (5678, 'The Quick Brown'); 36 EXEC SQL SELECT name INTO :text FROM Log LIMIT 1; 37 printf("Trigger %s fired.\n", text); 38 39 EXEC SQL DROP TRIGGER My_Table_Check_Trigger ON My_Table; 40 EXEC SQL DROP FUNCTION My_Table_Check(); 41 EXEC SQL DROP TABLE Log; 42 EXEC SQL DROP TABLE My_Table; 43 44 EXEC SQL DISCONNECT ALL; 45 46 return 0; 47} 48