ECPG and CURSOR declaration

Поиск
Список
Период
Сортировка
От Frost, Mr. Michael (contractor)
Тема ECPG and CURSOR declaration
Дата
Msg-id 5188F15076BC7A4DBB705747602058C11AA6D1@mailhost
обсуждение исходный текст
Ответы Re: ECPG and CURSOR declaration  (Michael Fuhr <mike@fuhr.org>)
Список pgsql-interfaces
Hi All.  The following code compiles and works fine on 7.3.  However,
with 7.4 it doesn't make it through the compiler.  With 7.4 it seems to
want the cursor declare to be in the same subroutine as the fetch.

========================================================================
===========
#include <stdio.h>

void driver ( ) { void prepareIt ( char * ); EXEC SQL BEGIN DECLARE SECTION;     char sElect_G[2048];     long
lSubCenter_L,lProductionCenter_L, lModel_L, lGrid_L;     char szModelName_L[64];     char szProductCenterName_L[64];
EXECSQL END DECLARE SECTION;
 
 sprintf ( sElect_G, "SELECT %s %s FROM MDGRIDModels, MDGRIDProdCenters
WHERE MDGRIDModels.centerID = MDGRIDProdCenters.centerID AND
MDGRIDModels.subcenterID = MDGRIDProdCenters.subcenterID",           "MDGRIDModels.centerID,
MDGRIDModels.subcenterID,",          "generatingProc, gridID, modelName, productionCenter");
 
 prepareIt ( sElect_G );
            EXEC SQL FETCH CUR4LL INTO :lProductionCenter_L,                             :lSubCenter_L,
           :lModel_L,                             :lGrid_L,                             :szModelName_L,
           :szProductCenterName_L;
 


}

void prepareIt ( char *myString ) { EXEC SQL BEGIN DECLARE SECTION;     char sElect_G[2048]; EXEC SQL END DECLARE
SECTION;

  EXEC SQL PREPARE sQLstatement FROM :sElect_G;  EXEC SQL DECLARE CUR4LL CURSOR FOR sQLstatement;  EXEC SQL OPEN
CUR4LL;

}
========================================================================
=========


Thanks,
Michael Frost


В списке pgsql-interfaces по дате отправления:

Предыдущее
От: "Satheesh Mani"
Дата:
Сообщение: PGXML
Следующее
От: "Magnus Hagander"
Дата:
Сообщение: Re: PGXML