Ich denke, ich könnte etwas hier fehlen. Hier ist der relevante Teil des Abzugs:PLS-00306 Fehler beim Aufruf des Cursors
CURSOR columnNames (inTableName IN VARCHAR2) IS
SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME = inTableName;
/* Removed for brevity */
OPEN columnNames('TEMP');
Und hier wird die Fehlermeldung, dass ich zurückbekommen,
27/20 PLS-00306: wrong number or types of arguments in call to 'COLUMNNAMES' 27/2 PL/SQL: Statement ignored
Wenn ich die Dokumentation richtig bin zu verstehen, die funktionieren sollen, aber da es ist nicht ich muss etwas falsch machen. Irgendwelche Ideen?
@Matthew - ich schätze die Hilfe, aber der Grund, dass ich verwirrt bin, ist, weil dieses Stück Code ist nicht für mich arbeiten und hebt die Fehler verwiesen. Wir haben andere Auslöser in der Datenbank mit Code fast genau wie das so bin ich nicht sicher, ob es etwas ist, das ich falsch gemacht habe, oder etwas mit, wie ich versuche, den Auslöser zu speichern usw.
@Matthew - Nun, jetzt fühle ich mich peinlich berührt. Ich habe den Code, den Sie eingegeben haben, in einen neuen Trigger kopiert und eingefügt. Also ging ich zurück in die ursprünglichen Auslöser und versuchte es und erhielt die Fehlermeldung erneut, außer diese Zeit begann ich Sachen zu löschen aus dem Trigger und nach dieser Zeile loszuwerden,
FOR columnName IN columnNames LOOP
Dinge gespeichert in Ordnung. So stellt sich heraus, dass, wo ich dachte, der Fehler war, war nicht wirklich der Fehler war.
Frode - Der Grund für den Fehler war, dass ich versuchte, eine parametrisierte Abfrage in der FOR LOOP aufzurufen, ohne einen Parameter anzugeben. – rjzii