Publicado el Dejar un comentario

SQL Developer. Crear una conexión a una base de datos de Oracle.

Para realizar consultas SQL a una base de datos Oracle necesitamos un programa cliente. Por defecto, cuando se instala el motor de la base de datos Oracle en un equipo, se instala  ahí mismo un programa cliente llamado SQL Plus y en ocasiones el Oracle SQL Developer.

El primero se ejecuta en un ambiente de “consola” mientras que el segundo en un ambiente gráfico. Oracle SQL Developer necesita tener instalado Java para poder funcionar. En esta entrada puedes ver cómo instalar SQL Developer en Windows.

Crear una conexión a Oracle con SQL Developer.

Abre SQL Developer y en la sección “Conexiones” presiona el botón “Nueva conexión..” para abrir el diálogo “Nueva / Seleccionar Conexión a Base de Datos”.

Nueva conexión.

En el diálogo proporciones los datos que se piden:

En el campo “Name” ingrese un nombre con el que identificará la conexión, ejemplo “XE 18c”.
En el campo “Usuario” capture un nombre de usuario ya existente en la base de datos y con permisos de conexión, ejemplo “sys”.
En la lista de opciones “Rol” seleccione el rol con el que se conectará el usuario, si es un usuario normal se deja la opción “valor por defecto”, en este ejemplo, como me conectaré con el usuario administrador “sys” seleccionaré el Rol “SYSDBA”.
En el campo contraseña, ingrese la contraseña.
En “Nombre de Host” capture el nombre de la computadora en la red donde se encuentra instalada la Base de Datos Oracle o la dirección IP. En mi caso dejaré “localhost” ya que la base de datos se encuentra en la misma máquina donde instalé SQL Developer.
En “Puerto” capture “1521”, que es el puerto por defecto de conexión de toda Base de Datos Oracle. Pregunte a su administrador si le asignó otro número de puerto.
Seleccionamos la opción “SID”, si su base de datos maneja SID o “Nombre del Servicio” si su base de datos está configurada como un servicio.
Capture ya sea el nombre del SID o el nombre del servicio asignado a la base de datos. En el ejemplo, en mi caso selecciono “Nombre del Servicio” y capturo el nombre del Servicio “XEPDB1”.

Capture la información según sus datos de conexión. Ejemplo de mi conexión:

Datos de conexión.

Oprima el botón “Probar” para hacer una prueba de conexión. Debajo de la lista de conexiones, en el mismo diálogo debe aparecer el mensaje “Estado: Correcto” indicando que la prueba de conexión se realizó exitosamente.

Si es así presione el botón “Guardar” para sólo guardar la conexión o “Conectar” para conectar y guardar. El diálogo se cierra y en área de conexiones debe aparecer la conexión recién creada.

Conexión creada.

La conexión se conservara permanentemente aún cunado SQL Developer se cierre. La próxima vez que lo ejecute, la conexión seguirá ahí.

Espero y les sea útil esta entrada. ¡Hasta la próxima!

Publicado el Dejar un comentario

Oracle SQL: reemplazar un texto por otro.

Para reemplazar un texto por otro en un campo o columna con SQL usamos la función REPLACE().

Función SQL en ORACLE para reemplazar texto.

La sintaxis de la función REPLACE() es la siguiente:

REPLACE(en-texto, texto-a-reemplazar, texto-de-reemplazo)

La función regresa un texto como resultado de reemplaza en en-texto el texto-a-reemplazar con el texto-de-reemplazo. Veamos un ejemplo para que quede más claro:

Función SQL REPLACE().

En el ejemplo anterior la función reemplaza todas las ocurrencias del texto “ho”, en el texto “horror ortográfico” con el texto letra “e”. Dando como resultado el texto “error ortográfico”.

Veamos este otro ejemplo:

Función REPLACE() con dos parámetros.

En el ejemplo omitimos el tercer parámetro que es el texto de reemplazo. Si éste parámetro se omite, todas las ocurrencias del texto a reemplazar son eliminadas del texto. En este caso todas las ocurrencias del guión (-) son eliminados del texto “-error ortográfico” dando como resultado “error ortográfico”.

Espero y les sea útil este artículo. ¡Hasta la próxima!

Publicado el Dejar un comentario

Oracle: rellenar a la derecha o izquierda con algún caracter un texto.

A veces necesitamos formatear una columna de un resultado de una consulta SQL en Oracle para que se muestre con una longitud fija. Es decir que el valor de la columna o campo sea de longitud fija en el resultado.

Formatear resultados de una consulta SQL con un caracter dado.

Para formatear la salida de una columna podemos usar las funciones RPAD o LPAD del motor de la base de datos Oracle.

Dicen que una imagen dice más que mil palabras así que dejo una imagen de la sentencia y el resultado:

Ejemplo de la funciones SQL RPAD() y LPAD() de Oracle.

¿Que está sucediendo? Bueno las funciones RPAD() y LPAD() de Oracle regresan un texto de una longitud fija. Ambas funciones aceptan tres parámetros, un texto, la longitud del texto resultante y un caracter con el que va a rellenar los espacios faltantes del texto dado para completar la longitud del texto final.

En el ejemplo anterior la función RPAD() recibe la constante o literal “Introducción”, el número 30 como la longitud del texto a devolver y el caracter punto (.) como el caracter de relleno. La longitud de la constante “Introducción” es de 12 caracteres, por lo tanto faltan 18 caracteres para completar los 30 que va a contener el texto resultante (30-12 = 18). RPAD() rellena con el caracter de relleno,en este caso punto (.) esos 18 caracteres faltantes y los coloca a la derecha del texto original quedando así:

Introducción………………

El texto “Introducción” y doce puntos a la derecha del texto. Precisamente la R es de la palabra inglesa RIGHT (derecha en español).

Una vez visto cómo funciona esta primera función, nos será fácil entender como funciona la segunda. LPAD() tiene el mismo funcionamiento, sólo que el relleno lo hará a la izquierda del texto original. La letra L es de la palabra inglesa LEFT (izquierda en español).

En el ejemplo anterior LPAD() regresará un texto de longitud 3:

..1

Dos puntos y el caracter 1. El resultado final de la instrucción SELECT es la concatenación (operador dos barras verticales o pipes [||] )de lo que regresan las funciones RPAD() y LPAD() y le asigna el alias “indice” a la columna resultante. El resultado final es:

Introducción………………..1

Espero y les sea útil.

¡Hasta pronto!