ECPG and CURSOR declaration
От | Frost, Mr. Michael (contractor) |
---|---|
Тема | ECPG and CURSOR declaration |
Дата | |
Msg-id | 5188F15076BC7A4DBB705747602058C11AA6D1@mailhost обсуждение исходный текст |
Ответы |
Re: ECPG and CURSOR declaration
|
Список | 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 по дате отправления: