У меня есть файл .sql
с именем Alter_table.sql
, который имеет следующий код.Выполнение sql-файла из другого файла sql
alter table mytable add newcolumn VARCHAR2(1);
Я не хочу редактировать этот файл и добавлять команду спула. Однако мне нужно выполнить Alter_table.sql
, написав катушку в другом файле (execute_sql.sql), который должен выглядеть следующим образом. Я не уверен в правильном синтаксисе. Кто-нибудь может помочь здесь?
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
Как вы это используете - вы уже подключились к базе данных к этому моменту? –
Я использую командную строку, с помощью которой я сначала направляюсь к этому пути (например, c: \ Scripts). Затем я дам commend sqlplus username/password @ database. Затем @ execute_sql.sql –
ОК, то вы уже подключены, и вам просто нужна '@ Alter_table.sql' часть ответа Гэри (вместо' exec'), без явного 'connect'. –