无法在PLSQL中调用带有参数的过程

时间:2012-08-15 11:04:25

标签: oracle stored-procedures plsql

无论我尝试过什么,我都会收到带有消息的PLS-00103错误:

Error starting at line 1 in command:
DECLARE
  MyVar NUMBER(12,0);
BEGIN
  HISTORY.sp_CHS_Insert('OMSC01', 522‚ 'OMSC01' ,522 , 4, 'S14_DCSKOLIZE', 'CHYBA', MyVar);
END;
Error report:
ORA-06550: řádka 4, sloupec 38:
PLS-00103: Encountered the symbol "," when expecting one of the following:

   ) , * & = - + < / > at v is mod remainder not rem =>
   <exponent (**)> <> or != or ~= >= <= <> and or like like2
   like4 likec between || multiset member submultiset
 Symbol ", was inserted before"‚", so continuation would be possible.
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:

我的程序标题如下。程序在历史包中:

procedure sp_CHS_Insert(
  ParH01Source in OMSH01.H01Source%type,
  ParH01ExtID in OMSH01.H01ExtId%type,
  ParH01UpdSource in OMSH01.H01UpdSource%type,
  ParH01UpdExtId in OMSH01.H01UpdExtId%type,

  ParXUR01UserID in XUR01.XUR01UserID%type := null,
  ParS14Code in OMSS14.S14Code%type := null,
  ParS12Code in OMSS12.S12Code%type := null,
  ParH01ID out OMSH01.H01ID%type
);

调用SQL看起来像这样:

DECLARE
  MyVar NUMBER(12,0);
BEGIN
  HISTORY.sp_CHS_Insert('OMSC01', 555‚ 'OMSC01' ,555, 4, 'S14_DCSKOLIZE', 'CHYBA', MyVar);
END;

我检查了参数类型,它们是正确的。我正在通过SQL Developer运行脚本。

我是一个PLSQL新手(一个.NET dev被迫做PLSQL),我知道它可能是非常明显的东西,但我看不到它。

1 个答案:

答案 0 :(得分:6)

位置38(第一个522之后)中的“逗号”不是ASCII逗号。当我将代码复制到SQL Developer中时,它看起来略有不同,当我检查ASCII函数时,在传递此字符时返回130,而普通逗号将返回44。