Ich versuche, in Datei auf meinem Computer zu speichern, aber ich bekomme diesen Fehler für die Select-Anweisung.SQL-Befehl nicht ordnungsgemäß beendet? Wie verwende ich den Cursor in Oracle?
Hier ist der Code:
CREATE OR REPLACE PROCEDURE export_cust(dir VARCHAR2, file_name VARCHAR2, tblname VARCHAR2)
IS
CURSOR cur IS SELECT * FROM tblname AS row_value;
file UTL_FILE.FILE_TYPE;
BEGIN
-- Open the file for writing
file := UTL_FILE.FOPEN(UPPER(dir), file_name, 'w', 32767);
-- Export rows one by one
FOR rec IN cur LOOP
-- All columns were concatenated into single value in SELECT
UTL_FILE.PUT_LINE(file, rec.row_value);
END LOOP;
UTL_FILE.FCLOSE(file);
END;
/
Ich möchte der Benutzer ein Verzeichnis, Dateinamen sowie die Tabelle, dass sie aus exportieren möchten. Auch wie verwende ich Zeile für Zeile Verarbeitung in Oracle 11g. Ich bin mir nicht sicher, ob ich es hier richtig mache
Ein Problem ist in Zeile 3, 'tblname AS row_value;'. Das Schlüsselwort 'AS' wird nur in der SELECT-Klausel und nicht in der WHERE-Klausel unterstützt. Entfernen Sie 'AS' und es sollte funktionieren. –
Ich habe die AS entfernt, aber ich bekomme die Tabelle nicht vorhanden und die Schleifenindexvariable 'REC' ist ungültig – user2127184