Когда вы вводите оператор SQL в SQL * Plus, он должен знать, когда вы закончили с ним, особенно если команда занимает несколько строк. Следовательно, он требует символьного символа терминала, который можно установить с помощью set sqlterminator
. По умолчанию этот символ является точкой с запятой:
SQL> select *
2 from
3 dual;
D
-
X
Теперь, изменив этот конечный символ на #
:
SQL> set sqlterminator #
SQL> select *
2 from
3 dual#
D
-
X
Оператор SQL был завершен (конец выполнен) с #
.
Вы спрашиваете: почему было set sqlterminator #
не стоит точка с запятой? Ответ, потому что это не оператор SQL. Операторы, относящиеся к SQL * Plus и его поведению, выводу, соединению asf (например, set echo on
и connect system/manager
), не являются операторами SQL и поэтому вводятся без точки с запятой.
Какое это имеет отношение к /
?
Когда вы вводите оператор SQL, SQL * plus заполняет что-то, что он называет буфером. Этот буфер может быть показан сlist
команды:
SQL> list
1 select *
2 from
3* dual
SQL>
(Примечание: я только вошел список , остальное возвращается)
/
Теперь выполняет то , что в данный момент в буфере. Давайте попробуем это:
SQL> /
D
-
X
Как видно, тот же запрос выполняется.