Search code examples
sqloracleoracle-sqldeveloper

SQL Developer Error: Missing IN or OUT Parameter at Index:: 1


I know this question has been asked often already but none of the solutions helped me with my problem. When running the following code I get this error:

Missing IN or OUT Parameter at Index:: 1

SELECT DISTINCT gpn.GP_ID, gpn.anrede, gpn.titel, gpn.nachname, gpn.vorname, TO_CHAR(gpn.geburtsdatum, 'dd.mm.') AS Geburtsdatum, gp.sapnr, gp.fname, NVL(tfu.bez, fu.bez) AS bez,
   gk.wert as PersonEmail, adr.STRASSE as FirmaStrasse, ort.PLZ as FirmaPLZ, ort.BEZ AS FirmaOrt
FROM S5_PERSONEN gpn
JOIN pf_personfirma pf  ON pf.PERSON_ID = gpn.gp_id
JOIN emf_function emf ON emf.pf_id = pf.pf_id
    AND TRUNC(NVL(emf.valid_to, sysdate)) >= TRUNC(sysdate)
JOIN pnf_fabrikat pnf on pnf.pnf_id = emf.pnf_id
JOIN gp_geschaeftspartner gp     ON gp.gp_id      = pf.firma_id
JOIN gp_geschaeftspartner gp2     ON gp2.gp_id      = pf.person_id
JOIN gk_kontakt gk on gk.gp_id = gp2.gp_id
join adr_adresse adr on adr.adr_id = gp.adr_id
join pa_ort ort on ort.ort_id = adr.ort_id
JOIN fu_funktion fu              ON emf.FU_ID     = fu.FU_ID
LEFT OUTER JOIN TFU_FUNKTION tfu ON tfu.FU_ID     = fu.FU_ID 
    AND tfu.locale_id = ?
WHERE TO_CHAR(gpn.geburtsdatum, 'MM') BETWEEN ? AND ?
AND pnf.PN_ID     = ?
AND kontaktart_id = 3

Solution

  • What are those ?s supposed to be?

    It seems that you want to use "parameters". If so, you can reference them using

    • a colon sign + parameter name, e.g. where pfn.pn_id = :par_pn_id or
    • an ampersand + parameter name, e.g. where pfn.pn_id = &par_pn_id