检查选择查询中的零行 [英] check for zero rows in select query

查看:53
本文介绍了检查选择查询中的零行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

My C program has an embedded sql query. This program runs on windows and queries the oracle database. The query is similar to EXEC SQL SELECT ... I need to add here a check to know if the query returns zero rows.

基本上我想设置一个本地变量来知道我的查询没有返回任何行并且相应地处理这种情况.

Basically I want to set a local valiable to know my query has returned no rows and handle this condition accordingly.

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

How can I add it. I know that EXISTS statement can be used. But I am not getting how do I use it in embedded sql.

感谢您的帮助.

推荐答案

使用 sqlca 结构

Use the sqlca struct

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

这篇关于检查选择查询中的零行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆