delphi 调用 oracle 函数出现的报错,该怎么处理
delphi 调用 oracle 函数出现的报错
oracle函数代码:CREATE OR REPLACE FUNCTION X_ZTE_TIME
--(YTIME date)
RETURN VARCHAR2 IS
TYPE GROUPONE IS VARRAY(300) OF VARCHAR2(23);
AA GROUPONE ;
PT VARCHAR2(20);
BB VARCHAR2 (1);
BEGIN
PT:=to_char(sysdate,'yyyy');
IF substr(PT,3,1) =0
THEN
BB:=substr(PT,4,1);
END IF;
IF substr(PT,3,1) <>0
THEN
AA := GROUPONE('A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','T','U','V','W','X','Y');
BB:= AA(MOD(MOD(PT,100)-10,22)+1);
END IF;
RETURN (BB);
END;
在PL/SQL中执行是没问题的
但是在delphi中一调用就出现了:ORA-06553:PLS-306:wrong number or types of arguments in call to ‘X_ZTE_time’
不知道到底是哪里出现问题了,求解。。。。。。
------解决方案--------------------
日期跟数值? 警告不是错误结果对了也没关系的。
------解决方案--------------------
wrong number or types of arguments in call to ‘X_ZTE_time’
提示错误的参数类型,你DELPHI是怎么调用的?把DLEPHI调用过程写出来看看
oracle函数代码:CREATE OR REPLACE FUNCTION X_ZTE_TIME
--(YTIME date)
RETURN VARCHAR2 IS
TYPE GROUPONE IS VARRAY(300) OF VARCHAR2(23);
AA GROUPONE ;
PT VARCHAR2(20);
BB VARCHAR2 (1);
BEGIN
PT:=to_char(sysdate,'yyyy');
IF substr(PT,3,1) =0
THEN
BB:=substr(PT,4,1);
END IF;
IF substr(PT,3,1) <>0
THEN
AA := GROUPONE('A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','T','U','V','W','X','Y');
BB:= AA(MOD(MOD(PT,100)-10,22)+1);
END IF;
RETURN (BB);
END;
在PL/SQL中执行是没问题的
但是在delphi中一调用就出现了:ORA-06553:PLS-306:wrong number or types of arguments in call to ‘X_ZTE_time’
不知道到底是哪里出现问题了,求解。。。。。。
------解决方案--------------------
日期跟数值? 警告不是错误结果对了也没关系的。
------解决方案--------------------
wrong number or types of arguments in call to ‘X_ZTE_time’
提示错误的参数类型,你DELPHI是怎么调用的?把DLEPHI调用过程写出来看看