Пакетный файл SQL-скрипты в одном файле - PullRequest
0 голосов
/ 28 февраля 2019

Я использую для запуска со скриптом .sql:

@ECHO OFF
SET /p usr=username: 
SET /p pwd=password: 
SET /p dbname=dbname: 
set /p tablename=tablename:

sqlplus %usr%/%pwd%@%dbname%.sql

select * from table where (something);
select (something) from table where (something);
exit;

Файл .bat и .sql скрипт должен быть в одном файле, поэтому я не могу вызвать .sql файл.Есть идеи? (я использую Windows 7, если это поможет) .

1 Ответ

0 голосов
/ 28 февраля 2019

Просто идея, но почему бы не создать файл sql из файла bat, записать в него команды sql, а затем выполнить его.Когда он закончится, вы можете удалить файл sql.

@ECHO OFF
SET /p usr=username: 
SET /p pwd=password: 
SET /p dbname=dbname: 
set /p tablename=tablename:

SET "sql1=select * from table where ^(something^)^;"
SET "sql2=select ^(something^) from table where ^(something^)^;"
SET "sql3=^(SELECT 1 + LEVEL-1 idx FROM dual CONNECT BY LEVEL ^<^= 10^)^;"

@echo %sql1% > temp.sql
@echo %sql2% >> temp.sql
@echo %sql3% >> temp.sql

sqlplus %usr%/%pwd% @temp.sql

код обновлен, чтобы учесть специальные символы, которые необходимо экранировать, используйте ^ для экранирования специальных символов.

Вы также можете захотетьпосмотреть на этот ответ

Надеюсь, все пройдет хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...