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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
insert into table_test (
    *
    ERROR at line 1:
    ORA-00913: too many values