manipulate array wiht ecpg
От | S.F. Lee |
---|---|
Тема | manipulate array wiht ecpg |
Дата | |
Msg-id | 19991227080242.25837.rocketmail@web221.mail.yahoo.com обсуждение исходный текст |
Список | pgsql-interfaces |
Hi, I am using ecpg to manipulate the whole row in a table,and I have a problem in array, can anybody give me a hint or a small test program to process array? First of all , I create a table(trdday) just as follow: 1. edit a trdday.sql file CREATE TABLE trdday ( id int PRIMARY KEY, pv int[3] ); 2. psql -f trdday.sql mydb 3.I insert a row of data via trdday_insert, but got following messge : sql error Postgres error: ERROR: Attribute 'pv' is of type '_int4' but expression is of type 'int4' You will needto rewrite or cast the expression line 13. Segmentation fault (core dumped) 4. I insert two rows of data under psql: insert into trdday values(1,'{11,22,33}'); insert into trdday values(2,'{44,55,66}');5. Finally, I can find two rows of data in trdday. Then I write a program (trdday_select.pgc): exec sql whenever sqlerror sqlprint; exec sql include sqlca; main () { typedef struct { int pv[3]; } int_array; exec sql type int_array is struct { int pv[3]; }; exec sql begin declare section; struct data { int id; int_array a; } temp; exec sql end declare section; exec sql connect to mydb; exec sql select * into :temp from trdday where id=1; exec sql commit; exec sql disconnect; exit(0); } When I execute the program trdday_select, I got following error message: sql error Not correctly formatted int type: {11,22,33} line 17. sql error Not correctly formatted int type: {11,22,33} line 17. sql error Not correctly formatted int type: {11,22,33} line 17. Here is my trdday_insert.pgc: exec sql whenever sqlerror sqlprint; /*exec sql include sqlca;*/ main () { exec sql begin declare section; int id; int pv[3] = {11,22,33}; exec sql end declare section; exec sql connect to mydb; exec sql insert into trdday(id,pv) values(1,:pv); exec sql commit; exec sql disconnect all; exit(0); } Thanks S.F.Lee _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com
В списке pgsql-interfaces по дате отправления: