目标: 我有一个程序,我想在 Toad 的 SQL 窗口中调用它来查看它正在提取的数据,但是我遇到了如何处理它的问题,并且想知道语法应该是什么样子.
规格:
我有一个程序需要 IN 三个 var,OUTs 三个 var。为简单起见,名称和类型如下:
var1 VARCHAR2
var2 VARCHAR2
var3 NUMBER(长度:22)
var4 PL/SQL TABLE(长度:22)
var5 PL/SQL TABLE(长度:22)
var6 PL/SQL TABLE(长度:22)
在 SQL 窗口中,我有以下内容:
DECLARE
paramOut4 TABLE("22");
paramOut5 TABLE("22");
paramOut6 TABLE("22");
BEGIN
SOME_SCHEMA.SOME_PROCEDURE('someString', 4, 2, paramOut4, paramOut5, paramOut6);
END;
这给了我错误:
ORA-06550:第 2 行,第 21 列:PLS-00103:在预期以下情况之一时遇到符号“)”:
一个标识符 一个双引号分隔标识符 LONG_
double ref char 时间时间戳 间隔日期 二进制国家
字符 nchar 符号“一个标识符”被替换为“)”以继续。ORA-06550:第 3 行,第 21 列:PLS-00103:在预期以下情况之一时遇到符号“)”:一个标识符 一个双引号分隔标识符 LONG_
double ref char 时间时间戳 间隔日期 二进制国家
字符 nchar 符号“一个 ORA-06550:第 4 行,第 21 列:PLS-00103:遇到符号“)”下列的:标识符 双引号分隔标识符 LONG_
double ref char 时间时间戳 间隔日期 二进制国家
字符 nchar 符号“an
即使它应该是一个数字而不是表长度的字符串,我添加了双引号,因为没有它们它会抱怨:
ORA-06550:第 2 行,第 17 列:PLS-00103:在预期以下情况之一时遇到符号“22”:
pragma 标识符 双引号分隔标识符 当前
而且我在那里有paren,因为当我刚有“TABLE”时它抱怨:
发生以下错误:
ORA-06550:第 2 行,第 16 列:PLS-00103:遇到符号“;” 当期待以下之一时:
(