#include exec sql include sqlca; exec sql include ../regression; int main() { exec sql begin declare section; int intvar = 5; int nullind = -1; exec sql end declare section; ECPGdebug(1,stderr); exec sql connect to REGRESSDB1; exec sql set autocommit to off; exec sql create table indicator_test ( "id" int primary key, "str" text NOT NULL, val int null); exec sql commit work; exec sql insert into indicator_test (id, str, val) values ( 1, 'Hello', 0); /* use indicator in insert */ exec sql insert into indicator_test (id, str, val) values ( 2, 'Hi there', :intvar :nullind); nullind = 0; exec sql insert into indicator_test (id, str, val) values ( 3, 'Good evening', :intvar :nullind); exec sql commit work; /* use indicators to get information about selects */ exec sql select val into :intvar from indicator_test where id = 1; exec sql select val into :intvar :nullind from indicator_test where id = 2; printf("intvar: %d, nullind: %d\n", intvar, nullind); exec sql select val into :intvar :nullind from indicator_test where id = 3; printf("intvar: %d, nullind: %d\n", intvar, nullind); /* use indicators for update */ intvar = 5; nullind = -1; exec sql update indicator_test set val = :intvar :nullind where id = 1; exec sql select val into :intvar :nullind from indicator_test where id = 1; printf("intvar: %d, nullind: %d\n", intvar, nullind); exec sql drop table indicator_test; exec sql commit work; exec sql disconnect; return 0; }