Как я могу выдать одну команду из командной строки через sql plus?
Используя SQL Plus, вы можете запустить сценарий с помощью оператора «@» из командной строки, как в:
c:\>sqlplus username/[email protected] @"c:\my_script.sql"
Но возможно ли запустить только одну команду с похожим синтаксисом без целого отдельного файла сценария? Как в:
c:\>sqlplus username/[email protected] @execute some_procedure
Меня это интересует, потому что я хочу написать командный файл, который просто выполняет команду, не создавая кучу двухстрочных файлов .sql.
- Выполните несколько команд с тем же процессом, используя .NET.
- Преобразование окончаний строк
- Как запустить приложение Android из командной строки?
- Отладка с параметрами командной строки в Visual Studio
- Использование Java ProcessBuilder для выполнения команды Piped
- Как выполнить некоторую команду до или после каждой команды Bash, введенной с консоли?
- Как подавить определенное предупреждение MSBuild
- Какой ваш самый любимый трюк в командной строке с помощью Bash?
- Увеличить размер кучи JVM для Scala?
- Лучший анализатор CLI для Java
- Как оживить командную строку?
- Как выполнить: выполнить командную строку на C #, получить результаты STD OUT
- Как запустить SQL-скрипт в MySQL?
Я могу запустить SQL-запрос, связав его с SQL * Plus:
@echo select count(*) from table; | sqlplus username/[email protected]
Дайте
@echo execute some_procedure | sqlplus username/[email protected]
попробуйте.
Вы пробовали что-то вроде этого?
sqlplus username/[email protected] < "EXECUTE some_proc /"
Похоже, что в UNIX вы можете делать:
sqlplus username/[email protected] <
Но я не уверен, что такое эквивалент Windows.
Для UNIX (AIX):
export ORACLE_HOME=/oracleClient/app/oracle/product/version export DBUSER=fooUser export DBPASSWD=fooPW export DBNAME=fooSchema echo "select * from someTable;" | $ORACLE_HOME/bin/sqlplus $DBUSER/[email protected]$DBNAME
sqlplus user/[email protected] < sqlfile.sql
Это также будет работать из командной строки DOS. В этом случае файл sqlfile.sql содержит SQL, который вы хотите выполнить.
@find /v "@" < %0 | sqlplus -s scott/[email protected] & goto :eof select sysdate from dual;
Вот как я решил проблему: