проверить на нулевые строки в запросе выбора - PullRequest
0 голосов
/ 07 ноября 2011

Моя C программа имеет встроенный SQL-запрос. Эта программа работает на Windows и запрашивает базу данных оракула. Запрос похож на EXEC SQL SELECT ... Мне нужно добавить сюда проверку, чтобы узнать, возвращает ли запрос ноль строк.

По сути, я хочу установить локальное значение, чтобы знать, что мой запрос не вернул строк обработать это условие соответственно.

Как я могу добавить это. Я знаю, что заявление EXISTS можно использовать. Но я не получаю как я могу использовать его во встроенном SQL.

Спасибо за любую помощь.

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

Используйте структуру sqlca

EXEC SQL include "sqlca.h"
#define NO_ROWS_FOUND (sqlca.sqlcode==1403)
EXEC SQL BEGIN DECLARE SECTION;
    int val=0;
    short ind=0;
EXEC SQL END DECLARE SECTION;

EXEC SQL 
    select value
    int :val :ind 
      from mytable where rownum=1;
if(NO_ROWS_FOUND)
   printf("No rows found\n");
0 голосов
/ 07 ноября 2011

Используйте SELECT COUNT(*) FROM ... и сравните результат с 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...