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
usuarioes tu nombre de usuario de la base de datos.passwordes tu contraseña.hostes la dirección del servidor de la base de datos (puede ser ‘localhost’ si la base de datos está en el mismo servidor).puertoes el puerto (generalmente es 1521 para Oracle).nombre_servicioes 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