01-declaracion-de-variables

5,761 views
5,517 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,761
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

01-declaracion-de-variables

  1. 1. 1. Declaración de variables El lenguaje PL/SQL 1 Objetivos• Reconocer un bloque básico de PL/SQL y sus respectivas secciones• Describir el significado de las variables en PL/SQL• Declarar variables PL/SQL• Ejecutar un bloque PL/SQL 2 1
  2. 2. Estructura de un bloque en PL/SQL DECLARE - Opcional Variables, cursores, excepciones def. por el usuario BEGIN - Obligatorio - Instrucciones SQL - Instrucciones PL/SQL EXCEPTION - Opcional - Acciones a realizar cuando ocurre un error END; - ObligatorioPL/SQL es un lenguaje estructurado en bloques (los programas se dividen en bloques lógicos).Un bloque consiste en tres secciones: declarativa, ejecutable y manejo de errores 3 Ejecución de instrucciones y bloques PL/SQL• Hay que colocar un punto y coma (;) al fina de cada instrucción SQL y cada instrucción de control PL/SQL.• Las palabras clave de cada sección (DECLARE, BEGIN, EXCEPTION) no van seguidas de punto y coma.• END y el resto de instrucciones PL/SQL van seguidas de punto y coma. 4 2
  3. 3. Tipos de bloques• Un programa PL/SQL comprende uno o más bloques. Estos bloques pueden estar completamente separados o anidados uno dentro del otro.• Los bloques anónimos no tienen nombre. Los subprogramas son bloques con nombre, anó que pueden aceptar parámetros y ser invocados. Se pueden declarar como procedimientos (para ejecutar una acción) o como funciones (para obtener un valor)• Los subprogramas se pueden almacenar a nivel de servidor o a nivel de aplicación 5 Uso de variablesLas variables se pueden emplear para:• Almacenamiento temporal de datos• Manipulación de valores almacenados• Reutilización• MantenibilidadCuando se utilizan los atributos %TYPE y %ROWTYPE, la declaración de variables se baseen las definiciones de las columnas de la base de datos. Si la definición subyacente cambia,entonces la declaración de la variable cambia consecuentemente en tiempo de ejecución. 6 3
  4. 4. Manejo de variables en PL/SQL• En la sección declarativa se declaran e inicializan las variables.• Se pueden asignar nuevos valores a las variables en la sección de ejecución• Se pueden introducir valores dentro de un bloque PL/SQL a través de parámetros pará• Se pueden observar resultados a través de las variables de salidaLas declaraciones pueden asignar un valor inicial e imponer la restricción NOT NULL sobrela variable.Se pueden pasar valores dentro de un bloque anónimo mediante el uso de variables desustituciónsustitució 7 Tipos de variables• Variables PL/SQL  Escalar (un valor simple) – Ej.: VARCHAR2, NUMBER, BOOLEAN, DATE...  Compuesto (registros)  Referencia (punteros)  LOB (Objetos grandes) – Ej. imágenes gráficas, etc.• Variables que no pertenencen a PL/SQL  Variables de sustitución  Variables host (“Bind variables”)Las variables de sustitución se pueden utilizar para pasar valores dentro de un bloque en sustituciótiempo de ejecución. Van precedidas con el símbolo &. Sólo un valor remplazará la variablede sustitución.Las variables host se pueden utilizar para pasar valores, en tiempo de ejecución, desde elbloque PL/SQL al entorno de ejecución 8 4
  5. 5. Declaración de variables PL/SQLSintaxis:Ejemplos:• Las constantes deben ser inicializadas.• Las variables NOT NULL deben ser inicializadas 9 Instrucciones para la declaración de variables PL/SQL• Seguir convenciones de nombres (v_name, c_name)• Las variables NOT NULL y las constantes deben ser inicializadas• Declarar un identificador por línea• Inicializar los identificadores mediante el operador de asignación (:= o la palabra :=) reservada DEFAULT Si no se asigna un valor inicial, la nueva variable contiene NULL por defecto hasta que se le asigna un valor posteriormente. Es una buena práctica de programación inicializar prá programació todas las variables. El código que utiliza el mismo nombre para una variable y para el nombre de una columna de un tabla es difícil de leer y mantener. Los nombres de las variables no deben contener más de 30 caracteres y deben empezar siempre por una letra. letra 10 5
  6. 6. Inicialización de variables y palabras claveLa palabra clave DEFAULT se utiliza para variables que tienen un valor típico v_mgr NUMBER(6) DEFAULT 100;La restricción NOT NULL debe continuarse con la cláusula de inicialización: v_city VARCHAR2(30) NOT NULL := ‘Oxford’;Los literales de cadena de caracteres deben encerrarse entre comillas simples: ‘Hello, world’Si tenemos la cadena FISHERMAN’S DRIVE, entonces se codifica como: ‘FISHERMAN’’S DRIVE’ 11 Tipos de datos escalares básicos•CHAR [(longitud máxima)] (Hasta 32767 bytes, por defecto 1)•VARCHAR2 (longitud máxima) (Hasta 32767 bytes)•LONG (cadenas de caracteres de longitud variable, hasta 32767 bytes)•LONG RAW (datos binarios, hasta 32767 bytes)•NUMBER [(precisión, escala)] (prec. 1 a 38, escala -84 a 127)•BINARY_INTEGER (enteros entre -2,147,483,647 y 2,147,483,647)•PLS_INTEGER (igual que el anterior, más eficiente)•BOOLEAN (TRUE, FALSE, NULL) 12 6
  7. 7. Declaración de variables escalares Ejemplos 13 El atributo %TYPE • Permite declarar una variable de acuerdo con: • La definición de una columna de la base de datos • Otra variable declarada previamente Sintaxis EjemplosLa restricción NOT NULL de una columna de la base de datos no se aplica de maneraautomática a la variable declarada usando %TYPE 14 7
  8. 8. Variables de entorno• Las variables de entorno se pueden utilizar para pasar valores en tiempo de ejecución (números o caracteres) dentro de un programa PL/SQL. (No funcionan en procedimientos, funciones y paquetes)PRINT no puede ser utilizado dentro de un bloque PL/SQLPara referenciar una variable de entorno dentro de un bloque PL/SQL se leanteponen dos puntos (:) 15 DBMS_OUTPUT.PUT_LINE• Es un procedimiento de un paquete suministrado por Oracle• Es una alternativa para presentar datos desde un bloque PL/SQL• Debe ser previamente activado en SQL Plus mediante la instrucción: SET SERVEROUTPUT ON 16 8
  9. 9. EJERCICIOS1. Evaluar cada una de las siguientes declaraciones. Determinar cuál de ellas son correctas y explicar el porqué: 17 EJERCICIOS2. En cada una de las siguientes asignaciones, indicar si la declaración es válida y cuál sería el tipo de datos válido para el resultado: 18 9
  10. 10. EJERCICIOS3. Crear un bloque anónimo que imprima en pantalla la frase “Mi bloque PL/SQL funciona” 19 10

×