/
balmaster
/
postgres
Обзор
Документация
Войти
/
balmaster
/
postgres
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/interfaces/ecpg/test/sql/fetch.pgc
58 строк
1 KB
Peter Eisentraut
Prevent -Wstrict-prototypes and -Wold-style-definition warnings
16 мар 2026, 12:53
16 мар 2026, 12:53
d7ad79e
Код
Авторство
О чём код?
#include <stdio.h> #include <stdlib.h> #include <string.h> EXEC SQL INCLUDE ../regression; int main(void) { EXEC SQL BEGIN DECLARE SECTION; char str[25]; int i, count=1, loopcount; EXEC SQL END DECLARE SECTION; ECPGdebug(1, stderr); EXEC SQL CONNECT TO REGRESSDB1; EXEC SQL WHENEVER SQLWARNING SQLPRINT; EXEC SQL WHENEVER SQLERROR STOP; EXEC SQL CREATE TABLE My_Table ( Item1 int, Item2 text ); EXEC SQL INSERT INTO My_Table VALUES ( 1, 'text1'); EXEC SQL INSERT INTO My_Table VALUES ( 2, 'text2'); EXEC SQL INSERT INTO My_Table VALUES ( 3, 'text3'); EXEC SQL INSERT INTO My_Table VALUES ( 4, 'text4'); EXEC SQL DECLARE C CURSOR FOR SELECT * FROM My_Table; EXEC SQL OPEN C; EXEC SQL WHENEVER NOT FOUND DO BREAK; for (loopcount = 0; loopcount < 100; loopcount++) { EXEC SQL FETCH 1 IN C INTO :i, :str; printf("%d: %s\n", i, str); } EXEC SQL WHENEVER NOT FOUND CONTINUE; EXEC SQL MOVE BACKWARD 2 IN C; EXEC SQL FETCH :count IN C INTO :i, :str; printf("%d: %s\n", i, str); EXEC SQL CLOSE C; EXEC SQL DECLARE D CURSOR FOR SELECT * FROM My_Table WHERE Item1 = $1; EXEC SQL OPEN D using 1; EXEC SQL FETCH 1 IN D INTO :i, :str; printf("%d: %s\n", i, str); EXEC SQL CLOSE D; EXEC SQL DROP TABLE My_Table; EXEC SQL DISCONNECT ALL; return 0; }