Re: sqlstate 02000 while declaring cursor/freeing statement
От | andy rost |
---|---|
Тема | Re: sqlstate 02000 while declaring cursor/freeing statement |
Дата | |
Msg-id | 4314BD3D.9030104@noaa.gov обсуждение исходный текст |
Ответ на | Re: sqlstate 02000 while declaring cursor/freeing statement (Michael Fuhr <mike@fuhr.org>) |
Список | pgsql-admin |
Just so that we can snip this thread, we've confirmed that free cursor and free statement do not affect sqlca structure elements sqlcode and sqlstate. Michael Fuhr wrote: > On Tue, Aug 30, 2005 at 09:01:36AM -0500, Thomas F. O'Connell wrote: > >>On Aug 29, 2005, at 2:19 PM, andy rost wrote: >> >>> $declare loop1 cursor with hold for >>> select distinct ( tabname ) >>> from meta ; >>> >>>results in sqlca.sqlcode = 100 and sqlca.sqlstate = '02000' >> >>[snip] >> >>I don't see anything wrong with your cursor declaration, so this just >>looks like it's indicating that no rows were returned. > > > See my response to the same thread in pgsql-sql about what's > happening: > > http://archives.postgresql.org/pgsql-sql/2005-08/msg00274.php > > The ECPG code generator doesn't issue the DECLARE statement until > the cursor is opened, so checking sqlcode/sqlstate immediately after > DECLARE but before OPEN will get the error code values from a > previous command. > > Here's an excerpt from the DECLARE documentation: > > The PostgreSQL server does not implement an OPEN statement for > cursors; a cursor is considered to be open when it is declared. > However, ECPG, the embedded SQL preprocessor for PostgreSQL, > supports the standard SQL cursor conventions, including those > involving DECLARE and OPEN statements. > > Since declaring a cursor in PostgreSQL also opens it, ECPG apparently > defers doing anything with the cursor until it finds the OPEN > statement (i.e., EXEC SQL DECLARE generates no code, and EXEC SQL > OPEN generates a DECLARE). > -- -------------------------------------------------------------------------------- Andrew Rost National Operational Hydrologic Remote Sensing Center (NOHRSC) National Weather Service, NOAA 1735 Lake Dr. West, Chanhassen, MN 55317-8582 Voice: (952)361-6610 x 234 Fax: (952)361-6634 arost@nohrsc.nws.gov http://www.nohrsc.nws.gov --------------------------------------------------------------------------------
В списке pgsql-admin по дате отправления: