How to use embedded sql to define an array
| От | Jeffrey Graham |
|---|---|
| Тема | How to use embedded sql to define an array |
| Дата | |
| Msg-id | 3D04CED8.2020202@lincom-asg.com обсуждение исходный текст |
| Ответы |
Re: How to use embedded sql to define an array
|
| Список | pgsql-interfaces |
Hello everyone,
Can someone please tell me how to declare an array of double (float8)
using esql when you
don't know how long the array is until runtime?
I have the code work for a fixed length of 10, but at run-time I might only
put 2 values or there could just as easily be 100 or 200 or 5000!
I tried several variations declaring my array as a pointer, but ecpg did
not like
any of my attempts.
Thanks,
Jeff
void myinsert(const std::vector<double>& myVector) { EXEC SQL BEGIN DECLARE SECTION;
/* this would be ideal but ecpg does not like it */
/* double m_data[myVector.length()]; */
/* This works but length might actually be 1 or 200! */ double m_data[10];
EXEC SQL END DECLARE SECTION;
/* stuff the sql array with data from my stl vector */ for ( unsigned int i=0; i < myVector.length(); i++
) m_data[i] = myVector[i];
EXEC SQL insert into eraDATA ( data ) VALUES( :m_data );
returnsqlOK(); }
В списке pgsql-interfaces по дате отправления: