sql-func.c

来自「postgresql8.3.4源码,开源数据库」· C语言 代码 · 共 172 行

C
172
字号
/* Processed by ecpg (regression mode) *//* These include files are added by the preprocessor */#include <ecpgtype.h>#include <ecpglib.h>#include <ecpgerrno.h>#include <sqlca.h>/* End of automatic include section */#define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y))#line 1 "func.pgc"#include <stdio.h>#include <stdlib.h>#include <string.h>#line 1 "regression.h"#line 5 "func.pgc"int main(int argc, char* argv[]) {  #line 8 "func.pgc" char  text [ 25 ]    ;#line 8 "func.pgc"  ECPGdebug(1, stderr);  { ECPGconnect(__LINE__, 0, "regress1" , NULL, NULL , NULL, 0); }#line 11 "func.pgc"  { ECPGsetcommit(__LINE__, "on", NULL);}#line 13 "func.pgc"  /* exec sql whenever sql_warning  sqlprint ; */#line 14 "func.pgc"  /* exec sql whenever sqlerror  sqlprint ; */#line 15 "func.pgc"  { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create  table My_Table ( Item1 int   , Item2 text    )    ", ECPGt_EOIT, ECPGt_EORT);#line 17 "func.pgc"if (sqlca.sqlwarn[0] == 'W') sqlprint();#line 17 "func.pgc"if (sqlca.sqlcode < 0) sqlprint();}#line 17 "func.pgc"  { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create  table Log ( name text    , w text    )    ", ECPGt_EOIT, ECPGt_EORT);#line 18 "func.pgc"if (sqlca.sqlwarn[0] == 'W') sqlprint();#line 18 "func.pgc"if (sqlca.sqlcode < 0) sqlprint();}#line 18 "func.pgc"  { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create  function My_Table_Check () returns trigger   as $test$\    BEGIN\	INSERT INTO Log VALUES(TG_NAME, TG_WHEN);\	RETURN NEW;\    END; $test$ language plpgsql", ECPGt_EOIT, ECPGt_EORT);#line 26 "func.pgc"if (sqlca.sqlwarn[0] == 'W') sqlprint();#line 26 "func.pgc"if (sqlca.sqlcode < 0) sqlprint();}#line 26 "func.pgc"  { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create trigger My_Table_Check_Trigger before insert on My_Table for each row execute procedure My_Table_Check (  )", ECPGt_EOIT, ECPGt_EORT);#line 32 "func.pgc"if (sqlca.sqlwarn[0] == 'W') sqlprint();#line 32 "func.pgc"if (sqlca.sqlcode < 0) sqlprint();}#line 32 "func.pgc"  { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into My_Table values ( 1234 , 'Some random text' ) ", ECPGt_EOIT, ECPGt_EORT);#line 34 "func.pgc"if (sqlca.sqlwarn[0] == 'W') sqlprint();#line 34 "func.pgc"if (sqlca.sqlcode < 0) sqlprint();}#line 34 "func.pgc"  { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into My_Table values ( 5678 , 'The Quick Brown' ) ", ECPGt_EOIT, ECPGt_EORT);#line 35 "func.pgc"if (sqlca.sqlwarn[0] == 'W') sqlprint();#line 35 "func.pgc"if (sqlca.sqlcode < 0) sqlprint();}#line 35 "func.pgc"  { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select  name  from Log     limit 1 ", ECPGt_EOIT, 	ECPGt_char,(text),(long)25,(long)1,(25)*sizeof(char), 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);#line 36 "func.pgc"if (sqlca.sqlwarn[0] == 'W') sqlprint();#line 36 "func.pgc"if (sqlca.sqlcode < 0) sqlprint();}#line 36 "func.pgc"  printf("Trigger %s fired.\n", text);  { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop trigger My_Table_Check_Trigger on My_Table ", ECPGt_EOIT, ECPGt_EORT);#line 39 "func.pgc"if (sqlca.sqlwarn[0] == 'W') sqlprint();#line 39 "func.pgc"if (sqlca.sqlcode < 0) sqlprint();}#line 39 "func.pgc"  { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop function My_Table_Check () ", ECPGt_EOIT, ECPGt_EORT);#line 40 "func.pgc"if (sqlca.sqlwarn[0] == 'W') sqlprint();#line 40 "func.pgc"if (sqlca.sqlcode < 0) sqlprint();}#line 40 "func.pgc"  { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table Log ", ECPGt_EOIT, ECPGt_EORT);#line 41 "func.pgc"if (sqlca.sqlwarn[0] == 'W') sqlprint();#line 41 "func.pgc"if (sqlca.sqlcode < 0) sqlprint();}#line 41 "func.pgc"  { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table My_Table ", ECPGt_EOIT, ECPGt_EORT);#line 42 "func.pgc"if (sqlca.sqlwarn[0] == 'W') sqlprint();#line 42 "func.pgc"if (sqlca.sqlcode < 0) sqlprint();}#line 42 "func.pgc"  { ECPGdisconnect(__LINE__, "ALL");#line 44 "func.pgc"if (sqlca.sqlwarn[0] == 'W') sqlprint();#line 44 "func.pgc"if (sqlca.sqlcode < 0) sqlprint();}#line 44 "func.pgc"  return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?