SlideShare una empresa de Scribd logo
1 de 10
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
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;                          - Obligatorio



PL/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
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 variables

Las variables se pueden emplear para:
• Almacenamiento temporal de datos
• Manipulación de valores almacenados
• Reutilización
• Mantenibilidad

Cuando se utilizan los atributos %TYPE y %ROWTYPE, la declaración de variables se base
en 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
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 salida




Las declaraciones pueden asignar un valor inicial e imponer la restricción NOT NULL sobre
la variable.
Se pueden pasar valores dentro de un bloque anónimo mediante el uso de variables de
sustitución
sustitució




                                                                                             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 variable
de sustitución.
Las variables host se pueden utilizar para pasar valores, en tiempo de ejecución, desde el
bloque PL/SQL al entorno de ejecución
                                                                                             8




                                                                                                 4
Declaración de variables PL/SQL
Sintaxis:




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
Inicialización de variables y palabras clave

La 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
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



         Ejemplos




La restricción NOT NULL de una columna de la base de datos no se aplica de manera
automática a la variable declarada usando %TYPE
                                                                                    14




                                                                                         7
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/SQL
Para referenciar una variable de entorno dentro de un bloque PL/SQL se le
anteponen 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
EJERCICIOS
1.   Evaluar cada una de las siguientes declaraciones. Determinar cuál de ellas son
     correctas y explicar el porqué:




                                                                                         17




                                 EJERCICIOS
2.   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
EJERCICIOS
3.   Crear un bloque anónimo que imprima en pantalla la frase “Mi bloque PL/SQL
     funciona”




                                                                                  19




                                                                                       10

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Java y xml
Java y xmlJava y xml
Java y xml
 
Jesus presentacion pseudocodigos
Jesus presentacion pseudocodigosJesus presentacion pseudocodigos
Jesus presentacion pseudocodigos
 
Jesus presentacion pseudocodigos
Jesus presentacion pseudocodigosJesus presentacion pseudocodigos
Jesus presentacion pseudocodigos
 
Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015
 
Programacion en java
Programacion en javaProgramacion en java
Programacion en java
 
Mariangel garcía informática
Mariangel garcía  informáticaMariangel garcía  informática
Mariangel garcía informática
 
71456126 enunciado-practica1-afd
71456126 enunciado-practica1-afd71456126 enunciado-practica1-afd
71456126 enunciado-practica1-afd
 
Php basico
Php basicoPhp basico
Php basico
 
Semana9b Vbr
Semana9b VbrSemana9b Vbr
Semana9b Vbr
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetos
 
Fundamentos de programacion en java
Fundamentos de programacion en javaFundamentos de programacion en java
Fundamentos de programacion en java
 
Structured Query Language (Guía rápida)
Structured Query Language (Guía rápida)Structured Query Language (Guía rápida)
Structured Query Language (Guía rápida)
 
Comandos java
Comandos javaComandos java
Comandos java
 
Unidad 2 Sintaxis en java
Unidad 2 Sintaxis en javaUnidad 2 Sintaxis en java
Unidad 2 Sintaxis en java
 
Yy
YyYy
Yy
 
Curso Java - Programación Digital
Curso Java - Programación DigitalCurso Java - Programación Digital
Curso Java - Programación Digital
 
1 clase de Ps /sql
    1  clase  de  Ps /sql     1  clase  de  Ps /sql
1 clase de Ps /sql
 
Metodos,variables, pasodeparametros
Metodos,variables, pasodeparametrosMetodos,variables, pasodeparametros
Metodos,variables, pasodeparametros
 
Unidad 3 CLASES, OBJETOS E INTSANCIAS
Unidad 3 CLASES, OBJETOS E INTSANCIASUnidad 3 CLASES, OBJETOS E INTSANCIAS
Unidad 3 CLASES, OBJETOS E INTSANCIAS
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 

Destacado

Instalacion del Sistema Operativo linux ubuntu 10.10 con el Virtual Box
Instalacion del Sistema Operativo linux ubuntu 10.10 con el Virtual BoxInstalacion del Sistema Operativo linux ubuntu 10.10 con el Virtual Box
Instalacion del Sistema Operativo linux ubuntu 10.10 con el Virtual BoxJulio Alfaro
 
Máquina Virtual, Linux, Ubuntu y su Instalación en la virtual box
Máquina Virtual,  Linux,   Ubuntu y su Instalación en la virtual boxMáquina Virtual,  Linux,   Ubuntu y su Instalación en la virtual box
Máquina Virtual, Linux, Ubuntu y su Instalación en la virtual boxIng-D-SW-TorresKhano--ME
 
Guia paso a paso virtual box
Guia paso a paso virtual boxGuia paso a paso virtual box
Guia paso a paso virtual boxCarlos Vera Baene
 
Mi lenguaje preferido- SQL
Mi lenguaje preferido- SQLMi lenguaje preferido- SQL
Mi lenguaje preferido- SQLFranshezka
 
PHP Avanzado: Seguridad Web
PHP Avanzado: Seguridad WebPHP Avanzado: Seguridad Web
PHP Avanzado: Seguridad WebRightster
 

Destacado (7)

Instalacion del Sistema Operativo linux ubuntu 10.10 con el Virtual Box
Instalacion del Sistema Operativo linux ubuntu 10.10 con el Virtual BoxInstalacion del Sistema Operativo linux ubuntu 10.10 con el Virtual Box
Instalacion del Sistema Operativo linux ubuntu 10.10 con el Virtual Box
 
Máquina Virtual, Linux, Ubuntu y su Instalación en la virtual box
Máquina Virtual,  Linux,   Ubuntu y su Instalación en la virtual boxMáquina Virtual,  Linux,   Ubuntu y su Instalación en la virtual box
Máquina Virtual, Linux, Ubuntu y su Instalación en la virtual box
 
Guia paso a paso virtual box
Guia paso a paso virtual boxGuia paso a paso virtual box
Guia paso a paso virtual box
 
PL/SQL
PL/SQLPL/SQL
PL/SQL
 
Lenguaje SQL
Lenguaje SQLLenguaje SQL
Lenguaje SQL
 
Mi lenguaje preferido- SQL
Mi lenguaje preferido- SQLMi lenguaje preferido- SQL
Mi lenguaje preferido- SQL
 
PHP Avanzado: Seguridad Web
PHP Avanzado: Seguridad WebPHP Avanzado: Seguridad Web
PHP Avanzado: Seguridad Web
 

Similar a 01-declaracion-de-variables

Similar a 01-declaracion-de-variables (20)

02 instrucciones
02   instrucciones02   instrucciones
02 instrucciones
 
PLSQL y paquetes
PLSQL y paquetesPLSQL y paquetes
PLSQL y paquetes
 
Cap I Plsql
Cap I PlsqlCap I Plsql
Cap I Plsql
 
Apunte plsql
Apunte plsqlApunte plsql
Apunte plsql
 
Conceptos basicos de programacion con pl sql
Conceptos basicos de programacion con pl sqlConceptos basicos de programacion con pl sql
Conceptos basicos de programacion con pl sql
 
Diapositivas transact sql
Diapositivas transact sqlDiapositivas transact sql
Diapositivas transact sql
 
Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)
 
10_SESION_10.pdf
10_SESION_10.pdf10_SESION_10.pdf
10_SESION_10.pdf
 
Capitulo 2
Capitulo 2Capitulo 2
Capitulo 2
 
71946780 manual-pl-sql-espanol
71946780 manual-pl-sql-espanol71946780 manual-pl-sql-espanol
71946780 manual-pl-sql-espanol
 
T8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptxT8 – Bases de Datos en MySQL (1).pptx
T8 – Bases de Datos en MySQL (1).pptx
 
Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2
 
U8- BBDD - El lenguaje PLSQL operadores y estructuras de control.pdf
U8- BBDD - El lenguaje PLSQL operadores y estructuras de control.pdfU8- BBDD - El lenguaje PLSQL operadores y estructuras de control.pdf
U8- BBDD - El lenguaje PLSQL operadores y estructuras de control.pdf
 
Act 2 y 3
Act 2 y 3Act 2 y 3
Act 2 y 3
 
Act4 screencast-bdatos cmch
Act4 screencast-bdatos cmchAct4 screencast-bdatos cmch
Act4 screencast-bdatos cmch
 
Tsql
TsqlTsql
Tsql
 
Semana 1 3 variables en bloques plsql
Semana 1 3 variables en bloques plsqlSemana 1 3 variables en bloques plsql
Semana 1 3 variables en bloques plsql
 
Programa pascal
Programa pascalPrograma pascal
Programa pascal
 
Base de datos - Clase 2
Base de datos - Clase 2Base de datos - Clase 2
Base de datos - Clase 2
 
Variables y constantes
Variables  y constantesVariables  y constantes
Variables y constantes
 

Último

Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...DavidBautistaFlores1
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfpatriciavsquezbecerr
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOFICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOMARIBEL DIAZ
 

Último (20)

Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdf
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
recursos naturales america cuarto basico
recursos naturales america cuarto basicorecursos naturales america cuarto basico
recursos naturales america cuarto basico
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOFICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
 

01-declaracion-de-variables

  • 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. 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; - Obligatorio PL/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. 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 variables Las variables se pueden emplear para: • Almacenamiento temporal de datos • Manipulación de valores almacenados • Reutilización • Mantenibilidad Cuando se utilizan los atributos %TYPE y %ROWTYPE, la declaración de variables se base en 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. 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 salida Las declaraciones pueden asignar un valor inicial e imponer la restricción NOT NULL sobre la variable. Se pueden pasar valores dentro de un bloque anónimo mediante el uso de variables de sustitución sustitució 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 variable de sustitución. Las variables host se pueden utilizar para pasar valores, en tiempo de ejecución, desde el bloque PL/SQL al entorno de ejecución 8 4
  • 5. Declaración de variables PL/SQL Sintaxis: 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. Inicialización de variables y palabras clave La 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. 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 Ejemplos La restricción NOT NULL de una columna de la base de datos no se aplica de manera automática a la variable declarada usando %TYPE 14 7
  • 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/SQL Para referenciar una variable de entorno dentro de un bloque PL/SQL se le anteponen 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. EJERCICIOS 1. Evaluar cada una de las siguientes declaraciones. Determinar cuál de ellas son correctas y explicar el porqué: 17 EJERCICIOS 2. 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. EJERCICIOS 3. Crear un bloque anónimo que imprima en pantalla la frase “Mi bloque PL/SQL funciona” 19 10