SQLPlus es una herramienta de línea de comandos para interactuar con bases de datos Oracle.

En los siguientes ejemplos estaremos usando Linux

Configuración del entorno

Asegúrate de que las variables de entorno necesarias estén configuradas. Generalmente, necesitas configurar ORACLE_HOME y añadir el directorio de Oracle Instant Client a tu PATH. Puedes hacerlo añadiendo lo siguiente a tu archivo ~/.bash_profile o ~/.bashrc o aquel que hayas definido para establecer tus variables de entorno

Configura tu archivo de variables de entorno:

Esto es un ejemplo:

export ORACLE_HOME=/ruta/al/instantclient
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=pontuSID
export TNS_ADMIN=$ORACLE_HOME/network/admin

Por lo general estas son las rutas por defecto, pero se cuidadoso y no me eches la culpa si no es la que tu tienes configurada:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/db_1

Carga el archivo de las variables de entorno de la siguiente manera (o a tu manera):

source ~/.bash_profile
o
source ~/.bashrc
o
. /home/oracle/.bash_profile

Ejecuta:

sqlplus / as sysdba
o
sqlplus usuario/password@host:puerto/nombre_servicio
  • usuario es tu nombre de usuario de la base de datos.
  • password es tu contraseña.
  • host es la dirección del servidor de la base de datos (puede ser ‘localhost’ si la base de datos está en el mismo servidor).
  • puerto es el puerto (generalmente es 1521 para Oracle).
  • nombre_servicio es el nombre del servicio de la base de datos (también conocido como SID).

Ejemplo:

sqlplus lazarus/tpmlazarus@localhost:1521/ORCL

Ejecutar Comandos SQL

Una vez conectado, puedes ejecutar comandos SQL directamente en la línea de comandos de SQL*Plus. Para ejecutar un comando, simplemente escríbelo y presiona Enter. Para ejecutar múltiples líneas, termina el comando con un punto y coma ;.

$ sqlplus scott/tiger@localhost:1521/ORCL

SQL*Plus: Release 19.0.0.0.0 – Production on Sun Oct 1 10:25:33 2023
Version 19.9.0.0.0

Copyright (c) 1982, 2023, Oracle. All rights reserved.

Conectado a:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.9.0.0.0

SQL> SELECT * FROM tabla;
SQL> EXIT;

Para salir de SQL*Plus, usa el comando:

EXIT;

Comandos de formato

Modificar el ancho de columnas:

COLUMN nombre FORMAT A25

Esto cambiará el ancho de la columna nombre para que ocupe 25 caracteres.

Formato de salida:

SET LINESIZE 100  
SET PAGESIZE 50

LINESIZE establece el ancho de las líneas de salida y PAGESIZE establece el número de líneas antes de que se produzca un salto de página.

Enviar la salida a un archivo:

SPOOL nombre_archivo.txt

Esto redirige la salida de los comandos SQL a un archivo. Para detener el spooling, usa:

SPOOL OFF

Autocompletado

Puedes usar el tabulador (Tab) para autocompletar nombres de tablas, columnas y palabras clave de SQL.

Historial de comandos

/

Esto ejecutará el último comando que ingresaste.

Ejecutar scripts

Puedes ejecutar scripts SQL que hayas creado en un archivo de texto con el siguiente comando:

@ruta/al/archivo.sql

Por ejemplo;

@myscript.sql

Variables de reemplazo

Puedes usar variables de reemplazo para hacer tu script más dinámico:

DEFINE nombre_variable = 'valor'
SELECT * FROM empleados WHERE departamento = '&nombre_variable';

Este comando pedirá la entrada del usuario para nombre_variable al ejecutar la consulta.

Reportes

SQL*Plus tiene comandos exclusivos para facilitar la creación de reportes:

Formato de salida de números:

COLUMN salario FORMAT 99999.99

Quitar o poner el encabezado:

SET HEADING OFF
SET HEADING ON

Parámetros de duración

SET TIMING ON

Esto te permite ver cuánto tiempo tarda cada consulta en ejecutarse.

Desactivar los avisos

Para suprimir los mensajes de advertencia de SQL*Plus, usa:

SET TERMOUT OFF

Comprobar el estado de conexión

Puedes usar el comando siguiente para comprobar en qué base de datos estás conectado:

SELECT * FROM v$session WHERE sid = SYS_CONTEXT('USERENV', 'SID');

Salir con un mensaje

Si deseas salir de SQL*Plus con un mensaje específico, puedes usar:

PROMPT Mensaje personalizado
EXIT

Ejecutar múltiples comandos en una sola línea

Puedes ejecutar varios comandos SQL en una sola línea separándolos con ;.

SELECT * FROM empleados; SELECT * FROM departamentos;

Estos son algunos de los trucos útiles que puedes aplicar en SQL*Plus para trabajar de manera más eficiente y productiva. ¡Suerte en tu trabajo con bases de datos Oracle!

Deja un comentario

Tendencias