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