1exec sql include sqlca; 2#include <stdio.h> 3 4exec sql include ../regression; 5 6 7int main() 8{ exec sql begin declare section; 9 int index; 10 exec sql end declare section; 11 12 13 ECPGdebug(1,stderr); 14 15 exec sql connect to REGRESSDB1; 16 if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc); 17 18 exec sql create table test ( 19 "index" numeric(3) primary key, 20 "payload" int4 NOT NULL); 21 if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc); 22 exec sql commit work; 23 if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc); 24 25 for (index=0;index<10;++index) 26 { exec sql insert into test 27 (payload, index) 28 values (0, :index); 29 if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc); 30 } 31 exec sql commit work; 32 if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc); 33 34 exec sql update test 35 set payload=payload+1 where index=-1; 36 if (sqlca.sqlcode!=100) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc); 37 38 exec sql delete from test where index=-1; 39 if (sqlca.sqlcode!=100) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc); 40 41 exec sql insert into test (select * from test where index=-1); 42 if (sqlca.sqlcode!=100) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc); 43 44 exec sql drop table test; 45 if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc); 46 exec sql commit work; 47 if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc); 48 49 exec sql disconnect; 50 if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc); 51 return 0; 52} 53