Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Oracle:使用表类型输入变量执行存储过程_Sql_Oracle_Stored Procedures_Oracle11g - Fatal编程技术网

Sql Oracle:使用表类型输入变量执行存储过程

Sql Oracle:使用表类型输入变量执行存储过程,sql,oracle,stored-procedures,oracle11g,Sql,Oracle,Stored Procedures,Oracle11g,当我试图调试一个现有的应用程序时,我发现了一个方法,它是执行一个显示错误的存储过程。我想在Oracle SQLDeveloper上执行存储过程,给定过程: type numTableType is table of NUMBER index by binary_integer; PROCEDURE up_correction_status(p_exp_check_id IN numTableType, p_status_id NUMBER, p_user_id NUMBER, p_return

当我试图调试一个现有的应用程序时,我发现了一个方法,它是执行一个显示错误的存储过程。我想在Oracle SQLDeveloper上执行存储过程,给定过程:

type numTableType is table of NUMBER index by binary_integer;

PROCEDURE up_correction_status(p_exp_check_id IN numTableType, p_status_id NUMBER, p_user_id NUMBER, p_return OUT NUMBER);
但是,如何声明
numTableType
的值

我试图:

var p_return NUMBER;
execute "PKG_PDM_DASHBOARD".up_approved_corr_status(1, 2, 11, :p_return);
print p_return;
发现此错误:

从命令中的第2行开始出错: 执行“包装PDM仪表板”。向上批准更正状态(1,2,11,:p\U返回) 错误报告: ORA-06550:第1行第8列: PLS-00306:调用“UP_APPROVED_CORR_STATUS”时参数的数量或类型错误 ORA-06550:第1行第8列: PL/SQL:忽略语句


只需要执行它并获取返回值,您的
类型
可以在包中使用。在包外部,您必须
创建类型

对于具有此类复杂类型参数的过程的执行,请使用pl/sql匿名块。
执行模板:

declare
  X tableType;
begin
  X(1) := 1;
  P(X);
end;

程序的主体在哪里?对不起,添加了一些信息。您能告诉我如何执行这种程序吗