Verwenden von PL/SQL-Variablen in der OCI Ergebnisse im "ORA-01008: nicht allen Variablen gebunden" Fehler

Den folgenden (sehr künstlich und vereinfacht) Beispiel läuft wunderbar im SQLDeveloper, aber die Ergebnisse in einer ORA-01008-Fehler beim ausführen über OCI.

declare
  CURRENT_LINE_ID NUMBER := 120;
  TARGETVAR NUMBER;
begin
  SELECT 1 INTO TARGETVAR FROM DUAL WHERE 120 = :CURRENT_LINE_ID;
end;

Gibt es eine Möglichkeit, neu zu strukturieren diese so, dass der bind-variable ist zufrieden OCI?

Experimentierte ich mit substitution von Variablen ein wenig (mal wieder funktioniert in SQL-Developer), aber DEFINIEREN zu sein scheinen völlig ungültige OCI.

DEFINE MYSUBST = 120;
DECLARE
  TARGETVAR NUMBER;
BEGIN
  SELECT 1 INTO TARGETVAR FROM DUAL WHERE 120 = &MYSUBST;
END;
Dies ist in Pro*C, oder welche Sprache?
Einfache C++. Dies ist die erste, die ich gehört habe von Pro*C. Es sieht aus wie es zu machen ist es einfacher zu schreiben SQL in C als PLSQL-OCI-kompatibel, aber... stackoverflow.com/questions/4793705/what-is-pro-c
im ersten Beispiel, warum müssen Sie die Spalte, da Sie definieren die variable bereits in der declare-Abschnitt?
Dies ist ein erfundenes Beispiel, mit dem keine Bedeutung soll darüber hinaus demonstriert, dass die PL/SQL-Variablen funktionieren nicht über OCI. Ich könnte verallgemeinern meine Frage und zwar: ist es möglich, beliebigen (Benutzer-spezifiziert) PL/SQL-Code über OCI?

InformationsquelleAutor Raven | 2013-12-20

Schreibe einen Kommentar