我的C程序有一个嵌入式SQL查询。该程序在Windows上运行并查询oracle数据库。 该查询类似于EXEC SQL SELECT ... 我需要在这里添加一个检查,以了解查询是否返回零行。
基本上我想设置一个本地valiable来知道我的查询没有返回任何行和 相应地处理这个条件。
如何添加它。我知道可以使用EXISTS语句。但我没有得到 我如何在嵌入式sql中使用它。
感谢您的帮助。
答案 0 :(得分:1)
使用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");
答案 1 :(得分:0)
使用SELECT COUNT(*) FROM ...
并将结果与0进行比较。