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 on
y 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 list
comando:
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.