我试图通过在过程中使用FORALL来尝试批量插入。
我尝试了以下步骤来创建程序:
**CREATE TYPE SECID_TABLE as TABLE OF VARCHAR2 INDEX BY NUMBER;**
CREATE PROCEDURE ASP_STOCK
(**p_secid IN SECID_TABLE**
) as
BEGIN
..
END;
但是上面两个语句都没有编译。我对oracle很新,并且使用aqua studio,它在错误陈述中似乎并不详细。
有人可以指导我吗?
答案 0 :(得分:0)
这里有两个问题。
第一个问题是您无法创建索引类型为NUMBER
的索引表。 SQLFiddle here将索引类型更改为PLS_INTEGER
。
但即使你这样做,你仍然会得到错误,因为像这样的索引表只是一个PL / SQL构造。 SQLFiddle here
您将不得不做其他事情。尝试使用未编制索引的TABLE类型,这在模式级别是允许的。 SQLFiddle here
祝你好运。