当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

关于Pro * C 的介绍以及使用


       Char sqlcaid[8];
       Long  sqlabc;
       Long  sqlcode;
    STRUCT{
           Unsigned sqlerrm1;
           Char sqlerrmc[10];
           }sqlerrm;
    Char sqlerrp[8];
    Long sqlerrd[6];
    Char sqlwarn[8];
    Char sqlext[8];
    }
    其中:
    1) SQLCA.sqlerrm.sqlerrmc:带有SQLCA。SQLCODE的错误正文。
    2) SQLCA.sqlerrd:当前ORACLE的状态,只有SQLCA.SQLERRD[2]有意义,表示DML语句处理的行数。
    3) SQLCA.sqlwarn:提供可能遇到的条件信息。

    在每执行一个SQL语句后,ORACLE就把返回结果放入SQLCA中,但说明语句除外。
    用SQLCA可以查看SQL语句的执行结果。往往有三种结果:
                         =0:执行成功;
    SQLCA.SQLCODE=    >0:执行成功的状态值;
                            <0:失败,不允许继续执行。

    2 指示器变量
    指示器变量有时也称指示变量.指示变量与一个主变量相关联,指出主变量的返回情况.
                 =0:返回值不为空, 未被截断,值放在主变量中;
    返回值=      >0:返回值为空, 忽略主变量的值;
                    <0:主变量长度不够就被截断。
    使用指示变量要注意:
    l 在WHERE子句中不能用指示变量。用NULL属性来测试空值。
    例如下列子句:
    SELECT…
    FROM…
    WHERE ENAME IS NULL;
    是正确的,而
    WHERE ENAME=:PEME:PEME1
    是错误的。
    l 指示变量在插入空值之前为-1
    l 可输出空值。

    3 WHENEVER语句
    WHENEVER是说明语句,不返回SQLCODE, 只是根据SQLCA中的返回码指定相关的措施。格式为
    EXEC SQL WHENEVER [SQLERROR|SQLWARNING|NOTFORUND]
                         [STOP|CONTINUE|GOTO<标号>];
    其中
    (1)[STOP|CONTINUE|GOT<标号>]的缺省值为CONTINUE。
    (2)SQLERROR:SQLCA.SQLCODE<0;
    (3)SQLWARNIGN:SQLCA.SQLWARN[0]="W";
    (4)NOTFOUND:SQLCA.SQLCODE=1403;
 

共3页 首页 上一页 1 2 3 下一页 尾页 跳转到
相关内容
赞助商链接