Oracle中 :sts:=0 表示什么意识 即 变量的前后都加冒号

 我来答
hongyaofu
推荐于2016-02-29 · TA获得超过1088个赞
知道大有可为答主
回答量:1227
采纳率:87%
帮助的人:526万
展开全部
--这里一个存储过程,一个Proc C 程序的DEMO,自己认真看看你的问题在什么地方回答了。
CREATE OR REPLACE PROCEDURE test IS
sts NUMBER;
BEGIN
   sts := 0;
   if sts = 0 then
     sts := 5;
   end if;
   EXCEPTION
     WHEN NO_DATA_FOUND THEN
       NULL;
     WHEN OTHERS THEN
       RAISE;
END test;

上面是Oracle的存储过程,下面是Oracle Proc C++

#include        <stdio.h>
#include        <stdlib.h>
#include        <string.h>
#include        <ctype.h>
#include        <sys/msg.h>
#include        <sys/ipc.h>
#include        <sqlca.h>
#include        <sqlcpr.h>
#include        <sqlda.h>
EXEC SQL BEGIN DECLARE SECTION;
 int sts ;
 int oiErr ;
EXEC SQL END DECLARE SECTION;
main(argc,argv)
int  argc;
char *argv[];
{
int sts1 = 0;
 EXEC SQL EXECUTE
 DECLARE
        sts2 number default 0;
 BEGIN
        sts2 := 0;
        if sts2 = 0 then
          :sts  := 5 ;
         end if;
        :oiErr := 0;


 WHEN OTHERS THEN
        :oiErr := 2101;
        COMMIT WORK;
 END;
 END-EXEC;

 printf("sts=%d",sts);
 if (oiErr != 0) {
        printf("系统错误:AP初始化错误 !\n");
        exit(2);
        }
  exit(0);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式