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

programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 

Último (20)

programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 

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