Saltar al contenido
Codifíca.me | Desarrollo web | Programación

Introducción a SQL Plus | Comandos básicos

8 noviembre, 2010

SQL PLUS

SQL PLUS es una herrramienta de Oracle para interactuar con la base de datos. Un intérprete SQL, con el que podemos editar y formatear los resultados. Para comenzar:

sqlplus usuario/contraseña@servicio

SQL Plus almacena en el buffer la última sentencia que se ha ejecutado, pero sólo la última. Esta se puede volver a ejecutar con poner r ( ó run, que edita la sentencia antes de ejecutarla)  ó  /  (que simplemente la ejecuta).

Se consideran que hay dos tipos de archivos, los de spool y los de comandos:


El fichero spool almacena los resultados de consultas en un fichero .lst o lo manda a una impresora:

SPOOL fichero ( puedes ponerle el nombre con la extensión que tú quieras). Guarda el resultado al fichero.  

SPOOL OUT  Manda el resultado la impresora.

SPOOL OFF  Cierra el fichero.

EXIT  Si cerramos, se cierran automáticamente los ficheros.

Los archivos de comandos son para los comandos SQL y SQL*Plus. Estos se pueden editar, guardar y ejecutar. Su extensión es sql.

DEFINE_EDITOR: Se indica a SQL PLUS el editor de textos que se va a usar.

define_editor = vi –>Si estás usando Oracle de UNIX

define_editor = notepad –> Si estás usando Oracle para Windows

EDIT (ed): Editar fichero , con lo indicado anteriormente, sino se hace crea un fichero temporal (AFIEDT.BUF)

EXIT: Sale de SQL PLUS

GET: Lleva al buffer el fichero. GET <fichero>

HELP: Muestra la ayuda (si está disponible). Si ponemos help index ( nos dará un índice con la ayuda de la que disponemos.

LIST (l): Sirve para ver último comando metido sin ejecutar.

QUIT: Sale de SQL PLUS

RUN (r ó /):  Ejecuta el último comando metido. (hay que usarlo cuando el comando o select  indicada no acaba en ; )

SAVE: Graba el  fichero. La opción REPLACE sirve para sobreescribir el fichero.

Formato: SAVE <nombre> [REPLACE]  Ejemplo: SAVE C:\prueba.txt REPLACE

START (sta) : Ejecuta un fichero de texto con ordenes SQL. Si la extensión del fichero no es .SQL hay que indicarlo.

Formato: START <fichero> <parametros>

CONNECT: para conectarse como otro usuario.

HOST o !: para ejecutar un comando del Sistema Operativo

Estas otras son bastante útiles:

PROMPT: Escribe un  mensaje en pantalla.

ACCEPT: Pide un valor y lo almacena en la variable que se indique.

PAUSE: Se para la ejecución hasta que se da al intro.

prompt Introduzca código

pause

accept codigo prompt ¿Código? ‘

select * from prueba where codigo=’&codigo;

Comandos de edición para la select:

Supongamos que tenemos esta select:

SQL> select distinct(cddni) from prueba;

Si queremos añadir una condición más, ponemos:

SQL> 2  where cdhabil = ‘DEM’;

Y al ejecutar la select veremos que se ha transformado en:

1  select distinct(cddni) from bperret

2  where cdhabil = ‘DEM’

Podemos trabajar y cambiar las líneas con sólo indicar el número de línea que vamos a añadir o cambiar o borrar.

Por ejemplo si ponemos  SQL>  2 where cdhabil = ‘ROS’

1  select distinct(cddni) from prueba

2  where cdhabil = ‘ROS’

Lo mismo ocurrirá si escribimos:

SQL> a  and cdclasnm = ’02’ genera:

1  select distinct(cddni) from prueba

2  where cdhabil = ‘DEM’  and cdclasnm = ’02’

Aquí os dejo unos cuantos comandos para editarla, su versión abreviada entre paréntesis:

append (a) Añade texto al final de la línea:

SQL> a   and and cdclasnm = ’02’ genera:

1  select distinct(cddni) from bperret

2  where cdhabil = ‘DEM’  and cdclasnm = ’02’

change (c)  Cambia una expresión por otra (c/antigua/nuevo)

SQL> c /02/03

3* and cdclasnm = ’03’

Sino ponemos nada en nuevo, nos eliminará esa expresión.

clear buffer (cl buff)  Limpia el buffer

del  Para borrar líneas. Tiene varias opciones:

del   Borra la línea actual

del n Borra la línea número n

del * Borra la línea actual

del n * Borra desde la línea n hasta la actual

del last Borra la última línea

del m n Borra las líneas situadas entre ellas.

del * n Borra la actual línea hasta la línea n.

input (i) Inserta el texto que quieras

list  (l) Muestra las líneas que hay en el buffer. Puede tener las siguientes combinaciones:

list n Muestra la línea n

list * Muestra la línea actual.

list n * Muestra las líneas entre la actual y el final

list last  Muestra la última línea

list  m n  Muestra las líneas entre m y n

 

Variables de usuario

Se pueden definir Variables de usuario con el comando DEFINE

DEFINE Variable = valor

Para borrar una variable se utiliza el comando UNDEFINE

UNDEFINE variable

 

Variables de Sustitución

Las variables de sustitución son un nombre de variable de usuario con el símbolo & delante. Cuando SQL*Plus detecta una variable de sustitución en un comando,  ejecuta el comando tomando el valor de la variable si ya está definida ( ver punto anterior ) o lo solicita por pantalla.

Si sólo quiere que el valor se solicite una vez pon &&nombrevariable.

SQL> define tabla=dual

SQL> select 2 from &tabla;

old   1: select 2 from &tabla

new   1: select 2 from dual

Sino lo hubiéramos asignado nos pondría por pantalla:

Enter value for tabla: