检查选择查询中的零行

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

基本上我想设置一个本地valiable来知道我的查询没有返回任何行并相应地处理这个条件。

我该如何添加它。 我知道可以使用EXISTS语句。 但我没有得到如何在嵌入式SQL中使用它。

谢谢你的帮助。

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

使用SELECT COUNT(*) FROM ...并将结果与​​0进行比较。