Скрипт командной строки для удаления записей Oracle на основе значения столбца - PullRequest
0 голосов
/ 13 марта 2011

Я совершенно новичок в методах написания сценариев.

Мое требование:

  1. Для подключения Oracle через DOS-скрипт
  2. На основании значения столбца необходимо удалитьконкретная запись

например:

emp   sal    pt_dt
a     23     22-02-11
b     34     20-01-10
c     45     23-09-85
d     56     30-3-11

На основании 30-3-11 (столбец pt_dt) мне нужно удалить запись d.

ОС - Windows XP DB - Oracle 10g

Ответы [ 2 ]

3 голосов
/ 14 марта 2011

Самый простой способ - сначала написать сценарий sql (например, deleterec.sql), а затем вызвать его из пакетного сценария (например, deleterec.bat).

Пример содержимого deleterec.sql:

DELETE emp WHERE pt_dt = TO_DATE('30-03-2011','DD-MM-RRRR');

Пример содержимого deleterec.bat:

sqlplus.exe scott/tiger@orcl @deleterec.sql

(замените scott / tiger @ orcl на ваше имя пользователя, пароль и экземпляр базы данных)

1 голос
/ 14 марта 2011

Вы можете написать .bat так:

@echo off
if %%1X==X goto noparam
echo DELETE FROM emp e WHERE e.emp = '%%1' > deleterec.sql
sqlplus.exe scott/tiger@orcl @deleterec.sql
delete deleterec.sql
goto end
:noparam
echo Usage: %%0 {employee id}
goto end
:end
echo Bye!

Я признаю, что украл вызов sqlplus из ответа Джеффри.: -О

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