Erreur ORA-00913: too many values
Bonjour à tous,
j'ai une erreur de code sous Oracle que voici. En fait je crée une fonction dans un package, là voici. C'est une requête en PL/SQL.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| function p1 ( p1_id in number) return varchar2
is
retour varchar2(80);
begin
retour := null;
begin
SELECT paym.payment_method_code
INTO retour
FROM ap_suppliers fou,
ap_supplier_sites_all fous,
iby_external_payees_all payee,
iby_ext_party_pmt_mthds paym
WHERE fou.party_id = payee.payee_party_id
AND payee.ext_payee_id = paym.ext_pmt_party_id
AND fous.vendor_site_id = p1_id
AND fou.vendor_id = fous.vendor_id
AND fous.vendor_site_id = payee.supplier_site_id
AND paym.primary_flag = 'Y';
exception
when no_data_found then null;
end;
return retour;
end; |
Ensuite, j'essaye d'insérer cette fonction dans une table pour me retourner une valeur.
Code:
1 2 3 4 5 6 7 8 9
| insert into table_test (
org_id,
champ_test
)
select
fous.org_id, --ORG_id
package1.p1 (fous.vendor_site_id)
from ap_supplier_sites_all fous
where ( fous.vendor_site_id) in (select DISTINCT vendor_site_id_attribute1 from table_test2_v); |
Mais en retour j'ai une erreur. Pourtant j'ai bien 2 champs dans mon INSERT. Pourquoi il met cette erreur 'Too many values' ? Quelqu'un a une idée ?
Code:
1 2 3 4
| insert into table_test (
*
ERROR at line 1:
ORA-00913: too many values |