Утилита SQL*Plus поддерживает две сокращенные формы команды START: @ и @@. Команда @ функционально аналогична команде :
SQL> @test 20
прежний 2: where deptno = &1 новый 2: where deptno = 20
ENAME SAL ---------- ---------- SMITH 800 JONES 2975 SCOTT 3000 ADAMS 1100 FORD 3000
Примечание
Команда @ удаляет завершающий символ SQLTERMINATOR (по умолчанию- точка с запятой; см. ) из последней команды. Если этот символ необходим, надо его удвоить.
Команда @@ работает так же, как и @, но дополнительно ищет командный файл в том же каталоге, что и командный файл, в котором она вызвана. Поэтому данная команда используется для вложенных вызовов командных файлов.
Рассмотрим типичное использование команды @@ в файле ex_all.sql:
set serverout on
@@ex0304 @@ex0305 @@ex0308 @@ex0309 @@ex0603 @@ex0606 @@ex0607 @@ex0608 @@ex0705 @@excurvar
При его запуске с помощью команды @ из того же каталога будут выполнены все перечисленные в нем командные файлы, а результаты их работы будут выданы на экран:
SQL> @f:\usr\doc\orasdev\ex_all.sql SCOTT has a second highest salary!
Процедура PL/SQL успешно завершена.
Процедура создана.
Ошибок нет. ...