Подтвердить что ты не робот

Как передать аргументы в PL/SQL script в командной строке с помощью SQLPLUS?

Как передать аргументы в PL/SQL script в командной строке с помощью SQLPLUS? Я могу назвать свой PL/SQL script таким же, но script требует аргументов, чтобы добиться успеха. Как я могу запустить sqlplus.exe, чтобы передать аргументы script?

@ECHO off
// where HOST030 is a tnsnames alias to a machine, port, and instance    
sqlplus.exe MYUSER/[email protected] < refreshDataOnOracle.sql    
pause

Я попытался найти ответ, но не смог найти "аргументный пример" для SQLPLUS. Я подозреваю, что это будет аналогичный метод использования команды SQL * Plus "START"?

4b9b3361

Ответ 1

Во-первых, вам нужно будет вызвать ваш script так:

sqlplus.exe MYUSER/[email protected] @refreshDataOnOracle.sql foo bar  

Вместо перенаправления ОС вы будете использовать символ "@" для указания имени файла для выполнения. Вы также укажете параметры script в командной строке. В script вы будете ссылаться на параметры с помощью &1, &2 и т.д.

update mytable set mycol = '&2' where myid = '&1';

который будет переведен в

update mytable set mycol = 'bar' where myid = 'foo';

Ответ 2

Если вы хотите зарегистрировать запуск sqlplus, вы можете использовать этот синтаксис:

sqlplus.exe MYUSER/[email protected] @refreshDataOnOracle.sql foo bar  >> log.log