Oracle中 :sts:=0 表示什么意识 即 变量的前后都加冒号
展开全部
--这里一个存储过程,一个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);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询