2
我可以让我在做什么错在这里Oracle过程插入
create or replace procedure load_category(
p_linea_cod varchar2,
p_modal_cod varchar2,
p_periodo_cod varchar2
)IS
BEGIN
insert into category(categoryid,externalcategoryid,name)values(
SEQ_CATEGORY.nextval,
(select cod_modal_est,nombre
from [email protected]
where cod_linea_negocio = p_linea_cod
and cod_modal_est = p_modal_cod)
);
END;
我试图与一个序列和select语句(工作表)一个简单的插入,但可以得到它工作,只是收到此错误:
ORA-00947: not enough values
我感谢您的帮助提前。
你是什么意思,选择应该返回“cod_modal_est”和“农布雷”列 – 2011-06-13 21:33:41
的值不,它不需要,但我承认我读错了你的查询。你现在插入两个值。一个是序列,另一个是选择的结果。这会以任何方式失败。将序列移入选择来解决此问题。 (将在一分钟后发布示例。) – GolezTrol 2011-06-13 21:36:22
修改它。现在查询返回三列。使用insert..select时省略* values *子句。如果选择查询将返回多个记录,则会插入所有记录,每个记录都有自己的类别。另外,如果它不返回,则不会插入行。执行insert语句后,您可以使用SQL%rowcount来获取受影响的行数。 – GolezTrol 2011-06-13 21:42:20