Sql 在select查询中检查零行

Sql 在select查询中检查零行,sql,c,oracle11g,Sql,C,Oracle11g,我的C程序有一个嵌入式sql查询。此程序在windows上运行并查询oracle数据库。 查询类似于EXEC SQL SELECT。。。 我需要在这里添加一个检查,以了解查询是否返回零行 基本上,我想设置一个本地有效值,以便知道我的查询没有返回任何行和行 相应地处理这种情况 我怎样才能添加它呢。我知道EXISTS语句可以使用。但我不明白 如何在嵌入式sql中使用它 感谢您的帮助。使用从…中选择COUNT(*),并将结果与0进行比较。使用sqlca结构 EXEC SQL include "sqlc

我的C程序有一个嵌入式sql查询。此程序在windows上运行并查询oracle数据库。 查询类似于EXEC SQL SELECT。。。 我需要在这里添加一个检查,以了解查询是否返回零行

基本上,我想设置一个本地有效值,以便知道我的查询没有返回任何行和行 相应地处理这种情况

我怎样才能添加它呢。我知道EXISTS语句可以使用。但我不明白 如何在嵌入式sql中使用它

感谢您的帮助。

使用
从…
中选择COUNT(*),并将结果与0进行比较。

使用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");

显示用于捕获查询结果的C代码。