Aprende a Usar DECLARE para Ejecutar Instrucciones en Oracle

Si aprendes a usar el comando DECLARE  podrás construir archivos script con instrucciones en el lenguaje SQL o PL/SQL que te permitan realizar varias acciones en tu Base de Datos Oracle, como por ejemplo, crear un modelo de datos, insertar, borrar y/o modificar registros en tus tablas, corregir datos, cargar parámetros, etc.

A diferencia de los Packages en Oracle, Procedures en Oracle  o Function en Oracle el comando DECLARE  no se guarda en la Base de Datos ya que solo contiene instrucciones que se ejecutan una vez o la veces que se requiera en tu Base de Datos Oracle.Todas estas instrucciones se graban en tu disco en un archivo de texto con extensión .sql.

Para entender mejor la forma de usar el DECLARE  revisemos algunos ejemplos prácticos:

Ejemplo #1: Supongamos que tienes que crear una tabla en tu Base de Datos Oracle y además insertar algunos registros, veamos cómo se hace ahora:

/* Procedures en Oracle*/

DECLARE

BEGIN

create table T_ESTADO(

id_estado                    number(10)      Not Null,

cod_estado                  number(5),

descripcion                  varchar2(50)

);

Insert into T_ESTADO(id_estado, cod_estado, descripcion) values (1,10,’Activo’);

Insert into T_ESTADO(id_estado, cod_estado, descripcion) values(2,20,’Inactivo’);

Insert into T_ESTADO(id_estado, cod_estado, descripcion) values(3,30,’Pendiente’);

Insert into T_ESTADO(id_estado, cod_estado, descripcion) values(4,40,’Rechazado’);

commit;

END;

/

TÚ REPORTE: “Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos”  ¡ Haz Click Aquí y Descárgalo GRATIS Ahora !

En este ejemplo se usa el comando DECLARE  para construir un script que permite crear una tabla y luego insertar registros a esta. Nótese que el comando DECLARE  debe tener todas las instrucciones dentro de un bloque BEGIN … END el cual se debe finalizar con el carácter ‘/’, este carácter le indica al compilador de Oracle que ha terminado el bloque de instrucciones.

Ejemplo #2: Ahora supongamos que tienes que hacer un script para corregir datos que no están correctos en tu Base de Datos, veamos cómo se hace:

/* Function en Oracle*/

DECLARE

lin_cantidad                Number:= 0;

BEGIN

For r_reg In (select id_departamento, id_empleado from T_EMPLEADO from where id_estado is null)

Loop

If r_reg.id_departamento = 1 Then

Update T_EMPLEADO

Set id_estado=1

Where id_empleado = r_reg.id_empleado;

Else

Update T_EMPLEADO

Set id_estado=3

Where id_empleado = r_reg.id_empleado;

End if;

lin_cantidad:= lin_cantidad + 1;

End Loop;

Commit;

dbms_output.put_line(‘Empleados modificados: ’||to_char(lin_cantidad);

END;

/

En este ejemplo se usa el DECLARE  para construir un script que permita corregir datos en la tabla T_EMPLEADO. Nótese que un script con DECLARE  también se pueden usar todas los comandos del lenguaje PL/SQL y SQL, se pueden declarar variables, usar ciclo For, If, Case, etc.

Estoy muy interesado en conocer tu opinión y/o comentario sobre este artículo, también cuéntame sobre qué es lo que quieres saber de Packages en Oracle  y/o dime cuál es tu principal frustración a la hora de trabajar con Packages en Oracle. Estaré muy atento respondiendo tus preguntas y/o comentarios, gracias.

Saludos

Roberto Vicencio – Escritor del Reporte:

Cómo Construir un SELECT Eficiente en ORACLE en 7 Pasos

Esta entrada fue publicada en Packages en Oracle y etiquetada , . Guarda el enlace permanente.

3 respuestas a Aprende a Usar DECLARE para Ejecutar Instrucciones en Oracle

  1. Muchas gracias por escribir esto, se unbelieveably informativo y me dijo que una tonelada

  2. Gibran Franco dijo:

    Hola a mi me gustaria saber como hacer el declare con un create table as select simplemente igual coloco el declare?? Saludos y gracias de antemano.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s