Cap I Plsql

29
UTPL -ORACLE UNIVERSITY

description

Declaracion de Variables PL/SQL

Transcript of Cap I Plsql

Page 1: Cap I Plsql

UTPL -ORACLE UNIVERSITY

Page 2: Cap I Plsql

PL/SQL, consiste de tres secciones:

DECLARE………....BEGIN…………EXCEPTION…………..END;

UTPL -ORACLE UNIVERSITY

Page 3: Cap I Plsql

UTPL -ORACLE UNIVERSITY

Page 4: Cap I Plsql

DECLAREv_variable VARCHAR2(5);

BEGINSELECT column_nameNTO v_variableFROM table_name;EXCEPTIONWHEN exception_name THEN……………..

END;UTPL -ORACLE UNIVERSITY

Page 5: Cap I Plsql

Toda sentencia termina con [; ] a excepción de las palabras reservadas.Si el bloque es ejecutado exitosamente sin errores de manejo y compilación, aparece el siguiente mensaje:

PL/SQL procedure successfully completed

END y todas las otras sentencias PL/SQL requieren un punto y coma para terminar la sentencia.

Para mejorar la lectura y comprensión es útil usar tabulaciones por sección.

UTPL -ORACLE UNIVERSITY

Page 6: Cap I Plsql

NOTA:

En PL/SQL a un error se lo llama excepción.

Con la modularidad es fácil solucionar un problema complejo esto gracias a que se puede trabajar en módulos.

UTPL -ORACLE UNIVERSITY

Page 7: Cap I Plsql

PL/SQL es un programa que tiene uno o más bloques. Estos bloques pueden estar separados o anidados unos con otros. Por lo tanto, un bloque puede representar una pequeña parte de otro bloque.

UTPL -ORACLE UNIVERSITY

BLOQUE ANÓNIMO

[DECLARE]

BEGIN

---SENTENCIAS

[EXCEPTION]

END;

PROCEDIMIENTO

PROCEDURE name IS

BEGIN

---SENTENCIAS

[EXCEPTION]

END;

FUNCIÓN

FUNCTION name RETURN datatype IS

BEGIN

---SENTENCIAS

[EXCEPTION]

END;

FUNCIÓN

FUNCTION name RETURN datatype IS

BEGIN

---SENTENCIAS

[EXCEPTION]

END;

Page 8: Cap I Plsql

Bloque anónimo.- es un bloque sin nombre. Estos son declarados en un punto en una aplicación donde son ejecutados. Se puede anidar en un bloque anónimo dentro de un programa pre-compilado y dentro de iSQL*Plus o un servidor director. Los triggers en los componentes de Oracle Developer constan de estos bloques.

Sub-Programas.- son bloques nombrados en PL/SQL que pueden aceptar parámetros y pueden ser invocados. Se los puede declarar como procedimientos o como funcione. Generalmente se usa un procedimiento para ejecutar una acción y una función para computar un valor. UTPL -ORACLE UNIVERSITY

Page 9: Cap I Plsql

Usando los componentes de Oracle Developer (formas, reportes, y gráficos), tu puedes declarar procedimientos y funciones como parte de la aplicación (un formulario o reporte) y llamar a estos desde otros procedimientos, funciones y triggers dentro de una misma aplicación.

NOTA: Una función es similar a un procedimiento,

excepto que una función puede retornar un valor.

UTPL -ORACLE UNIVERSITY

Page 10: Cap I Plsql

UTPL -ORACLE UNIVERSITY

Page 11: Cap I Plsql

La siguiente tabla contiene una idea general de los conceptos de programa de PL/SQL que usa un bloque básico.

UTPL -ORACLE UNIVERSITY

Page 12: Cap I Plsql

UTPL -ORACLE UNIVERSITY

Page 13: Cap I Plsql

UTPL -ORACLE UNIVERSITY

Page 14: Cap I Plsql

Con PL/SQL se puede declarar variables. Las variables pueden ser usadas para lo siguiente:

•Almacenamiento Temporal de Datos: los datos pueden ser temporalmente guardados en una o más variables para ser usados cuando se validan los datos de entrada y para el procesamiento después en el proceso de circulación de datos.

•Manipulación de Valores guardados: las variables pueden ser usadas para cálculos y otras manipulaciones de datos sin acceder a la base de datos.

UTPL -ORACLE UNIVERSITY

Page 15: Cap I Plsql

•Reusabilidad: después de ser declaradas, las variables pueden ser usadas repetidamente en una aplicación solo mencionándolas en otras declaraciones, otra declaración de sentencias.

•Facilidad de mantenimiento: cuando use %TYPE y %ROWTYPE, usted declara variables, basando la declaración en la definición de una columna de una base de datos. Si una definición subyacente cambia, la declaración variable cambia en consecuencia al tiempo de ejecución. Esto suministra la independencia de datos, reduce el coste de mantenimiento, y permite que programas se adapten a los cambios de base de datos para cubrir nuevas necesidades de la empresa.

UTPL -ORACLE UNIVERSITY

Page 16: Cap I Plsql

•Declaración y Inicialización de Variables en la sección de declaración: se puede declarar variables en la parte declarativa de PL/SQL de cualquier bloque, subprograma o paquete. Las declaraciones asignan un espacio para almacenar un valor, especifican el tipo de datos, y nombran la ubicación en donde se va a almacenar con el propósito de hacer referencia al valor. Las declaraciones también pueden atribuir un valor inicial e imponer la restricción NOT NULL en la variable. Se debe declarar una variable antes de mencionarla en otras declaraciones, incluyendo la declaración de otras sentencias.

UTPL -ORACLE UNIVERSITY

Page 17: Cap I Plsql

•Asignar nuevos valores para variables en la sección ejecutable: en la sección ejecutable, el valor existente de la variable es remplazado por un nuevo valor que es asignado para la variable.

•Paso de valores en subprogramas PL/SQL a través de parámetros: existen tres modos de parámetros, IN (por defecto), OUT, y IN OUT. Use el parámetro IN para pasar valores al subprograma que está siendo llamado. Use el parámetro OUT para retornas valores al que llama a un subprograma. Y use el parámetro IN OUT para pasar valores iníciales a un subprograma que está siendo llamado y para devolver valores actualizados al que llama al subprograma.

UTPL -ORACLE UNIVERSITY

Page 18: Cap I Plsql

Todas las variables PL/SQL tienen un tipo de dato, cuando se especifica el formato de almacenamiento, restricciones y validar el rango de valores. PL/SQL soporta cuatro categorías de tipos de datos: escalar, compuesto, referencia y LOB (objetos grandes), que se pueden utilizar para declarar variables, constantes y punteros.

1.Datos de tipo escalares sujetan un solo valor. Los principales tipos de datos son ésos que corresponden a un tipo de columna en las tablas de un servidor Oracle; PL/SQL también soporta variables booleanas.

UTPL -ORACLE UNIVERSITY

Page 19: Cap I Plsql

2. Datos de tipo compuesto, como los registros, permiten que grupos de campos sean definidos y manipulados en bloques PL/SQL.

3. Los tipos de datos de referencia sujetan valores, llamados punteros, que designan otros ítems del programa.

4. Los tipos de datos LOB sujetan valores, llamados halladores, eso especifica la ubicación de objetos grandes (como ideas gráficas) que son guardados fuera de línea.

UTPL -ORACLE UNIVERSITY

Page 20: Cap I Plsql

Sintaxis:

Identifier: es el nombre de la variable

CONSTANT: restringe la variable con el propósito de que su valor no pueda cambiar; las constantes deben ser inicializadas.

UTPL -ORACLE UNIVERSITY

Page 21: Cap I Plsql

Data type: puede ser un escalar, compuesto, referenciado o LOB.

NOT NULL: restringe a la variable para que tenga un valor .

Expr: es cualquier expresión PL/SQL que puede ser una expresión literal, otra variable o una expresión que involucra operadores y funciones.

UTPL -ORACLE UNIVERSITY

Page 22: Cap I Plsql

Identifier: es el nombre de la variable escalarExpr: puede ser una variable, literal o llamada a una función, pero no a una columna de la base de datos.Las variables son inicializadas todo el tiempo en un bloque o subprograma. Por defecto las variables son inicializadas con NULL.Default: se puede usar la palabra clave de default en lugar del operador de asignación.NOT NULL: imponer la estricción NOT NULL cuando la variable debe contener un valor.

UTPL -ORACLE UNIVERSITY

Page 23: Cap I Plsql

UTPL -ORACLE UNIVERSITY

Page 24: Cap I Plsql

UTPL -ORACLE UNIVERSITY

Page 25: Cap I Plsql

UTPL -ORACLE UNIVERSITY

Page 26: Cap I Plsql

UTPL -ORACLE UNIVERSITY

Page 27: Cap I Plsql

Este tipo de variables nos permiten realizar comparaciones a través de expresiones booleanas, estas pueden ser simples o complejas separadas por operadores relacionales.

Ejemplo:v_sal1 := 50000;v_sal2 := 60000;

La siguiente expresión es verdaderav_sal1 < v_sal2

UTPL -ORACLE UNIVERSITY

Page 28: Cap I Plsql

Declaración y inicialización de una variable booleanaDECLARE

v_flag BOOLEAN:= FALSE;BEGIN

v_flag := TRUE;END;

DBMS_OUTPUT.PUT_LINE

Se puede declarar una variable principal o anfitriona, referenciarla en un bloque PL/SQL, y luego presentar su contenido en iSQL*Plus usando el comando PRINT. Otra alternativa para presentar que la información de un bloque de PL/SQL es DBMS_OUTPUT.PUT_LINE es un paquete oracle-supplied, y PUT_LINE es un procedimiento dentro de ese paquete.

UTPL -ORACLE UNIVERSITY

Page 29: Cap I Plsql

Dentro de un bloque PL/SQL, referencia DBMS_OUTPUT.PUT_LINE y entre paréntesis se especifica lo que se quiere que presente. El paquete debe estar primero permitido en una sesión en iSQL*Plus. Para ejecutar el paquete en iSQL*Plus se debe realizar con el comando SERVEROUTPUT ON.

Ejemplo:

UTPL -ORACLE UNIVERSITY