Cap I Plsql

4,155 views

Published on

Declaracion de Variables PL/SQL

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,155
On SlideShare
0
From Embeds
0
Number of Embeds
47
Actions
Shares
0
Downloads
96
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Cap I Plsql

    1. 1. UTPL -ORACLE UNIVERSITY
    2. 2. <ul><li>PL/SQL, consiste de tres secciones: </li></ul><ul><li>DECLARE </li></ul><ul><li>……… .... </li></ul><ul><li>BEGIN </li></ul><ul><li>………… </li></ul><ul><li>EXCEPTION </li></ul><ul><li>………… .. </li></ul><ul><li>END; </li></ul>UTPL -ORACLE UNIVERSITY
    3. 3. UTPL -ORACLE UNIVERSITY
    4. 4. <ul><li>DECLARE </li></ul><ul><li>v_variable VARCHAR2(5); </li></ul><ul><li>BEGIN </li></ul><ul><li>SELECT column_name </li></ul><ul><li>NTO v_variable </li></ul><ul><li>FROM table_name; </li></ul><ul><li>EXCEPTION </li></ul><ul><li>WHEN exception_name THEN </li></ul><ul><li>…………… .. </li></ul><ul><li>END; </li></ul>UTPL -ORACLE UNIVERSITY
    5. 5. <ul><li>Toda sentencia termina con [; ] a excepción de las palabras reservadas. </li></ul><ul><li>Si el bloque es ejecutado exitosamente sin errores de manejo y compilación, aparece el siguiente mensaje: </li></ul><ul><li>PL/SQL procedure successfully completed </li></ul><ul><li>END y todas las otras sentencias PL/SQL requieren un punto y coma para terminar la sentencia. </li></ul><ul><li>Para mejorar la lectura y comprensión es útil usar tabulaciones por sección. </li></ul>UTPL -ORACLE UNIVERSITY
    6. 6. <ul><li>NOTA: </li></ul><ul><li>En PL/SQL a un error se lo llama excepción. </li></ul><ul><li>Con la modularidad es fácil solucionar un problema complejo esto gracias a que se puede trabajar en módulos. </li></ul>UTPL -ORACLE UNIVERSITY
    7. 7. 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 FUNCIÓN FUNCTION name RETURN datatype IS BEGIN ---SENTENCIAS [EXCEPTION] END; BLOQUE ANÓNIMO [DECLARE] BEGIN ---SENTENCIAS [EXCEPTION] END; PROCEDIMIENTO PROCEDURE name IS BEGIN ---SENTENCIAS [EXCEPTION] END;
    8. 8. <ul><li>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. </li></ul><ul><li>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. </li></ul>UTPL -ORACLE UNIVERSITY
    9. 9. <ul><li>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. </li></ul><ul><li>NOTA: </li></ul><ul><li>Una función es similar a un procedimiento, excepto que una función puede retornar un valor. </li></ul>UTPL -ORACLE UNIVERSITY
    10. 10. UTPL -ORACLE UNIVERSITY
    11. 11. La siguiente tabla contiene una idea general de los conceptos de programa de PL/SQL que usa un bloque básico. UTPL -ORACLE UNIVERSITY
    12. 12. UTPL -ORACLE UNIVERSITY
    13. 13. UTPL -ORACLE UNIVERSITY
    14. 14. <ul><li>Con PL/SQL se puede declarar variables. Las variables pueden ser usadas para lo siguiente: </li></ul><ul><li>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. </li></ul><ul><li>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. </li></ul>UTPL -ORACLE UNIVERSITY
    15. 15. <ul><li>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. </li></ul><ul><li>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. </li></ul>UTPL -ORACLE UNIVERSITY
    16. 16. <ul><li>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. </li></ul>UTPL -ORACLE UNIVERSITY
    17. 17. <ul><li>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. </li></ul><ul><li>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. </li></ul>UTPL -ORACLE UNIVERSITY
    18. 18. <ul><li>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. </li></ul><ul><li>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. </li></ul>UTPL -ORACLE UNIVERSITY
    19. 19. <ul><li>Datos de tipo compuesto , como los registros, permiten que grupos de campos sean definidos y manipulados en bloques PL/SQL. </li></ul><ul><li>Los tipos de datos de referencia sujetan valores, llamados punteros, que designan otros ítems del programa. </li></ul><ul><li>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. </li></ul>UTPL -ORACLE UNIVERSITY
    20. 20. 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
    21. 21. 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
    22. 22. Identifier: es el nombre de la variable escalar Expr: 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
    23. 23. UTPL -ORACLE UNIVERSITY
    24. 24. UTPL -ORACLE UNIVERSITY
    25. 25. UTPL -ORACLE UNIVERSITY
    26. 26. UTPL -ORACLE UNIVERSITY
    27. 27. 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 verdadera v_sal1 < v_sal2 UTPL -ORACLE UNIVERSITY
    28. 28. Declaración y inicialización de una variable booleana DECLARE 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
    29. 29. 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

    ×