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  (Michael Meskes <meskes@postgresql.org>)
Список 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 по дате отправления:

Предыдущее
От: Jeffrey Graham
Дата:
Сообщение: howto declare variable sized array w esql
Следующее
От: Sandro Dentella
Дата:
Сообщение: Re: libpgtcl and encoding