Cuando ingresa una instrucción SQL en SQL * Plus, necesita saber cuándo ha terminado, especialmente si el comando abarca varias filas. Por lo tanto, requiere un carácter de carácter terminal que se puede establecer con set sqlterminator. Por defecto, este personaje es el punto y coma:
SQL> select *
2 from
3 dual;
D
-
X
Ahora, cambiando este carácter de terminal a #:
SQL> set sqlterminator #
SQL> select *
2 from
3 dual#
D
-
X
La instrucción SQL finalizó (finalizó ejecutada) con a #.
Usted pregunta: ¿por qué set sqlterminator #no fue seguido por un punto y coma? Respuesta, porque esto no es una declaración SQL. Las declaraciones relacionadas con SQL * Plus y su comportamiento, salida, conexión asf (como set echo ony connect system/manager) no son declaraciones SQL y, por lo tanto, se ingresan sin punto y coma.
¿Qué tiene esto que ver con el /?
Cuando ingresó una instrucción SQL, SQL * plus llenó algo que llama un búfer. Este búfer se puede mostrar con el listcomando:
SQL> list
1 select *
2 from
3* dual
SQL>
(Nota: solo ingresé a la lista , el resto se devuelve)
El /ahora ejecuta lo que está actualmente en el búfer. Probemos eso:
SQL> /
D
-
X
Como se puede ver, se ejecuta la misma consulta.