Ich habe eine .sql
Datei mit dem Namen Alter_table.sql
, die den folgenden Code haben.Ausführen von SQL-Datei von einer anderen SQL-Datei
alter table mytable add newcolumn VARCHAR2(1);
Ich möchte diese Datei nicht bearbeiten und einen Spool-Befehl hinzufügen. Allerdings muss ich Alter_table.sql
ausführen, indem ich spool in eine andere Datei (execute_sql.sql) schreibe, die wie folgt aussehen sollte. Ich bin mir nicht sicher über die korrekte Syntax. Kann mir bitte jemand hier helfen?
SET SERVEROUTPUT ON
SET DEFINE OFF
SPOOL Alter_Table_STD_SOURCE.log
EXEC username/[email protected] `Alter_table.sql`
SPOOL OFF;
SET DEFINE ON
SET SERVEROUTPUT OFF
Wie läuft das? Sind Sie bereits mit der Datenbank verbunden? –
Ich benutze die Eingabeaufforderung, mit der ich zuerst auf diesen Pfad (zB c: \ Scripts) zugreife. Dann gebe ich die Empfehlung sqlplus Benutzername/Passwort @ Datenbank. Dann @ execute_sql.sql –
OK, dann sind Sie bereits verbunden, und Sie brauchen nur den '@ Alter_table.sql' Teil von Garys Antwort (anstelle von' exec'), ohne die explizite 'connect'. –