SQL Developer Error: Missing IN or OUT Parameter at Index:: 1
SQL Developer Error: Missing IN or OUT Parameter at Index:: 1
我知道这个问题已经经常被问到,但是 none 的解决方案帮助我解决了我的问题。当 运行 以下代码出现此错误时:
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
那些 ?
应该是什么?
看来你想用“参数”。如果是这样,您可以使用
引用它们
- 一个冒号+参数名,例如
where pfn.pn_id = :par_pn_id
或
- 一个符号 + 参数名称,例如
where pfn.pn_id = &par_pn_id
我知道这个问题已经经常被问到,但是 none 的解决方案帮助我解决了我的问题。当 运行 以下代码出现此错误时:
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
那些 ?
应该是什么?
看来你想用“参数”。如果是这样,您可以使用
引用它们- 一个冒号+参数名,例如
where pfn.pn_id = :par_pn_id
或 - 一个符号 + 参数名称,例如
where pfn.pn_id = &par_pn_id