SlideShare una empresa de Scribd logo
2. Escribiendo instrucciones




    El lenguaje PL/SQL
                                                 1




                           Objetivos

• Describir la relevancia de la sección de
  ejecución
• Emplear identificadores correctamente
• Escribir instrucciones en la sección de
  ejecución
• Describir las reglas de los bloques anidados
• Ejecutar y comprobar un bloque PL/SQL
• Empleo de convenciones de código

                                                 2




                                                     1
Sintaxis y guía de uso

• Las instrucciones pueden tener su continuación a
  través de varias líneas de código, no ocurriendo lo
  mismo con las palabras reservadas del lenguaje
• Las unidades léxicas se pueden clasificar como:
   –   Delimitadores
   –   Identificadores
   –   Literales
   –   Comentarios




                                                        3




                            Delimitadores




                                                        4




                                                            2
Identificadores

• Pueden contener hasta 30 caracteres
• Deben comenzar con un carácter alfanumérico
• Pueden contener números, signos de dólar, guión bajo
  y símbolos de número
   – Identificadores válidos: money$$$tree, SN##,
     try_again_
• No pueden contener caracteres tales como guiones,
  barras, y espacios
   – Identificadores no válidos: dots&dashes, debit-
     amount, on/off, user id

                                                             5




                              Identificadores
• No deberían tener el mismo nombre que el de una
  columna de una tabla de la base de datos
   – Si los identificadores de PL/SQL presentes en una
     sentencia SQL tienen el mismo nombre que una columna,
     entonces Oracle asume que es la columna la que está
     siendo referenciada.
• No deberían tener el mismo nombre que las palabras
  reservadas
   – Las palabras reservado no se pueden utilizar como
     identificadores a menos que se encierren entre dobles
     comillas: “SELECT”


                                                             6




                                                                 3
Sintaxis y guía de uso

• Literales
   – Los literales de cadena de caracteres y fecha deben estar
     encerrados entre comillas simples

   – Los números pueden expresarse como valores simples o en
     notación científica (-32.5, 2E5)
• Una barra (/) ejecuta el bloque PL/SQL en un fichero
  guión o en algunos entornos tales como iSQL*PLUS.




                                                                 7




                                 Comentarios

• Los comentarios de única línea se implementan
  usando el doble guión (--)
• Para emplear comentarios de varias líneas, éstas se
  colocan entre /* y */.




                                                                 8




                                                                     4
Funciones SQL en PL/SQL

• Disponibles
  – Funciones numéricas (ABS, STR, TRUNC, MOD, …)
  – Funciones de caracteres (CHR, UPPER, LOWER,
    LENGTH, …)
  – Funciones de conversión de tipos (TO_CHAR, TO_DATE,
    TO_NUMBER)
  – Funciones de fecha (LAST_DAY, NEXT_DAY, …)
  – Funciones de marca de tiempo
  – GREATEST, LEAST
  – Funciones varias


                                                                         9




                         Funciones SQL en PL/SQL

• No Disponibles
  – DECODE
  – Funciones agregadas (AVG, MIN, MAX, COUNT, SUM,
    STDDEV, VARIANCE, …)
     • Las funciones agregadas se aplican a grupos de registros en una
       tabla y por tanto sólo están disponibles como instrucciones SQL
       dentro de un bloque PL/SQL.




                                                                         10




                                                                              5
Funciones SQL en PL/SQL: Ejemplos



• Construcción de la lista de correo para una compañía



   – CHR es una función SQL que convierte un código ASCII
     en su carácter correspondiente; 10 es el código del salto de
     línea
• Convertir el nombre de un empleado a minúsculas




                                                                    11




                         Conversión de tipos de datos


• PL/SQL intenta convertir los tipos de datos de manera
  dinámica si estos se mezclan en una instrucción
• Dentro de una expresión deberíamos asegurarnos de que todos
  los tipos de datos son iguales.
• Funciones de conversión:
   – TO_CHAR
   – TO_DATE
   – TO_NUMBER




                                                                    12




                                                                         6
Conversión de tipos de datos


• Almacenar una cadena de caracteres que representa una fecha
  en una variable declarada como DATE provoca un error de
  sintaxis

• Para corregir el error, hay que emplear la función de
  conversión TO_DATE




                                                                   13




                         Bloques anidados y alcance de variables



• Los bloques PL/SQL se pueden anidar en cualquier
  punto en el que se pueda introducir una instrucción
  ejecutable
• Un bloque anidado se convierte en una instrucción
• La sección de manejo de errores pueden contener
  también bloques anidados
• El alcance de un identificador se define como la
  región de dicha unidad de programación (bloque,
  subprograma, o paquete) en la cual dicho
  identificador puede ser referenciado


                                                                   14




                                                                        7
Bloques anidados y alcance de variables



• Ejemplo:




                                                                 15




                         Alcance de un identificador


• Un identificador es visible en aquellas regiones en las
  que se puede referenciar dicho identificador sin tener
  que cualificarlo:
   – Un bloque puede mirar hacia el bloque que lo engloba
   – Un bloque no puede mirar dentro de los bloques que
     engloba variable




                                                                 16




                                                                      8
Cualificar un identificador


• El cualificador puede ser la etiqueta del bloque que
  engloba a otro bloque
• Se puede cualificar el identificador empleando como
  prefijo la etiqueta del bloque




                                                              17




                      Determinar el alcance de una variable




                                                              18




                                                                   9
Operadores en PL/SQL


•   Lógicos
•   Aritméticos
•   Concatenación
•   Paréntesis

• Operador exponencial (**)




                                                       19




                         Operadores en PL/SQL


• Incrementar un contador en un lazo

• Establecer el valor de una variable booleana

• Validar si un número de empleado contiene un valor




                                                       20




                                                            10
Operadores en PL/SQL


• Las comparaciones que involucran valores nulos
  siempren dan como resultado NULL
• Si se aplica el operador NOT a un nulo el resultado es
  NULL
• En sentencias de control condicional, si la condición
  es NULL, entonces la secuencia de instrucciones
  asociada no se ejecuta




                                                           21




                       Consejos de programación


• Documentar el código con comentarios
• Utilización de mayúsculas (instrucciones SQL,
  palabras clave PL/SQL, tipos de datos) y minúsculas
  (identificadores y parámetros, tablas y columnas de
  las bases de datos)
• Empleo de convenciones de notación para
  identificadores y otros objetos
• Mejora de la lectura mediante el uso del sangrado



                                                           22




                                                                11
Consejos de programación




                           23




                                12

Más contenido relacionado

La actualidad más candente

Unid2 transact sql 1
Unid2  transact sql 1Unid2  transact sql 1
Unid2 transact sql 1ALEXSILVARSM
 
Intro sql y plsql
Intro sql y plsqlIntro sql y plsql
Intro sql y plsql
olsoftware
 
Equivalencias Vb Net Y C
Equivalencias Vb Net Y CEquivalencias Vb Net Y C
Equivalencias Vb Net Y Cdeadss
 
103305862 t-sql
103305862 t-sql103305862 t-sql
103305862 t-sql
santi perugachi
 
Cap I Plsql
Cap I PlsqlCap I Plsql
Cap I Plsql
Martin Coronel
 
Pl Sql
Pl SqlPl Sql
Introduccion al java script
Introduccion al java scriptIntroduccion al java script
Introduccion al java script
Renny Batista
 
Examen Sandra U Israel Oracle
Examen Sandra U Israel OracleExamen Sandra U Israel Oracle
Examen Sandra U Israel Oracle
universidad israel
 
Elementos de una variable trabajo grupal computacion
Elementos de una variable trabajo grupal computacionElementos de una variable trabajo grupal computacion
Elementos de una variable trabajo grupal computacion
jime97
 
Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2
GeovannyYungan
 
Diseño Agile
Diseño AgileDiseño Agile
Diseño Agile
Martin Salias
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
Byron Quisquinay
 
PL/SQL
PL/SQLPL/SQL

La actualidad más candente (17)

Unid2 transact sql 1
Unid2  transact sql 1Unid2  transact sql 1
Unid2 transact sql 1
 
Presentacion PL/SQL
Presentacion PL/SQLPresentacion PL/SQL
Presentacion PL/SQL
 
Intro sql y plsql
Intro sql y plsqlIntro sql y plsql
Intro sql y plsql
 
Equivalencias Vb Net Y C
Equivalencias Vb Net Y CEquivalencias Vb Net Y C
Equivalencias Vb Net Y C
 
103305862 t-sql
103305862 t-sql103305862 t-sql
103305862 t-sql
 
Cap I Plsql
Cap I PlsqlCap I Plsql
Cap I Plsql
 
1. introduccion a transact-sql
1.  introduccion a transact-sql1.  introduccion a transact-sql
1. introduccion a transact-sql
 
Pl Sql
Pl SqlPl Sql
Pl Sql
 
Introduccion al java script
Introduccion al java scriptIntroduccion al java script
Introduccion al java script
 
Apunte plsql
Apunte plsqlApunte plsql
Apunte plsql
 
Presentación1
Presentación1Presentación1
Presentación1
 
Examen Sandra U Israel Oracle
Examen Sandra U Israel OracleExamen Sandra U Israel Oracle
Examen Sandra U Israel Oracle
 
Elementos de una variable trabajo grupal computacion
Elementos de una variable trabajo grupal computacionElementos de una variable trabajo grupal computacion
Elementos de una variable trabajo grupal computacion
 
Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2
 
Diseño Agile
Diseño AgileDiseño Agile
Diseño Agile
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
PL/SQL
PL/SQLPL/SQL
PL/SQL
 

Similar a 02 instrucciones

Diapositivas transact sql
Diapositivas transact sqlDiapositivas transact sql
Diapositivas transact sql
TAPIA SILVA EVELINA
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
Jaime Lara
 
Unidad4 sql
Unidad4 sqlUnidad4 sql
Unidad4 sql
Juan Islas
 
Act4 screencast-bdatos cmch
Act4 screencast-bdatos cmchAct4 screencast-bdatos cmch
Act4 screencast-bdatos cmch
claudia mayeli de la cruz herrera
 
Pricipales bases de datos
Pricipales bases de datosPricipales bases de datos
Pricipales bases de datos
Estrella Perez Nava
 
Analisis comparativo de base de datos
Analisis comparativo de base de datosAnalisis comparativo de base de datos
Analisis comparativo de base de datosmelasa7
 
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 sqlAndrei Hortúa
 
Clean code
Clean codeClean code
Estructura Sintactica
Estructura SintacticaEstructura Sintactica
Estructura SintacticaluchoGL
 
Lenguaje Transact sql
Lenguaje Transact sqlLenguaje Transact sql
Lenguaje Transact sql
Lizbeth Lizana Carrasco
 
Tsql
TsqlTsql
Instrucciones Transact S Q L
Instrucciones Transact  S Q LInstrucciones Transact  S Q L
Instrucciones Transact S Q LOlaya Molina
 
Instrucciones Transact Sql
Instrucciones Transact SqlInstrucciones Transact Sql
Instrucciones Transact SqlOlaya Molina
 
Bases de datos
Bases de datosBases de datos
Bases de datos
vhzendejas
 

Similar a 02 instrucciones (20)

PLSQL y paquetes
PLSQL y paquetesPLSQL y paquetes
PLSQL y paquetes
 
Diapositivas transact sql
Diapositivas transact sqlDiapositivas transact sql
Diapositivas transact sql
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad4 sql
Unidad4 sqlUnidad4 sql
Unidad4 sql
 
Act4 screencast-bdatos cmch
Act4 screencast-bdatos cmchAct4 screencast-bdatos cmch
Act4 screencast-bdatos cmch
 
Pricipales bases de datos
Pricipales bases de datosPricipales bases de datos
Pricipales bases de datos
 
Analisis comparativo de base de datos
Analisis comparativo de base de datosAnalisis comparativo de base de datos
Analisis comparativo de base de datos
 
Ansi Sql
Ansi SqlAnsi Sql
Ansi Sql
 
Ansi Sql
Ansi SqlAnsi Sql
Ansi Sql
 
Ansi Sql
Ansi SqlAnsi Sql
Ansi Sql
 
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
 
Clean code
Clean codeClean code
Clean code
 
Ansi Sql
Ansi SqlAnsi Sql
Ansi Sql
 
Estructura Sintactica
Estructura SintacticaEstructura Sintactica
Estructura Sintactica
 
Lenguaje Transact sql
Lenguaje Transact sqlLenguaje Transact sql
Lenguaje Transact sql
 
Tsql
TsqlTsql
Tsql
 
Instrucciones Transact S Q L
Instrucciones Transact  S Q LInstrucciones Transact  S Q L
Instrucciones Transact S Q L
 
Instrucciones Transact Sql
Instrucciones Transact SqlInstrucciones Transact Sql
Instrucciones Transact Sql
 
Historia del sql
Historia del sqlHistoria del sql
Historia del sql
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 

Más de avalver2

Tema 2
Tema 2Tema 2
Tema 2
avalver2
 
Tema 1
Tema 1Tema 1
Tema 1
avalver2
 

Más de avalver2 (7)

Tema 3 0
Tema 3 0Tema 3 0
Tema 3 0
 
Tema 3 3
Tema 3 3Tema 3 3
Tema 3 3
 
Tema 3 2
Tema 3 2Tema 3 2
Tema 3 2
 
Tema 3 0
Tema 3 0Tema 3 0
Tema 3 0
 
Tema 3 1
Tema 3 1Tema 3 1
Tema 3 1
 
Tema 2
Tema 2Tema 2
Tema 2
 
Tema 1
Tema 1Tema 1
Tema 1
 

Último

INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
Alejandrogarciapanta
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
https://gramadal.wordpress.com/
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
rosannatasaycoyactay
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
YasneidyGonzalez
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
https://gramadal.wordpress.com/
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
SandraBenitez52
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
MasielPMP
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Txema Gs
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
JAVIER SOLIS NOYOLA
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdf
Mercedes Gonzalez
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
Alejandrino Halire Ccahuana
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
YasneidyGonzalez
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
DIANADIAZSILVA1
 

Último (20)

INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdf
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
 

02 instrucciones

  • 1. 2. Escribiendo instrucciones El lenguaje PL/SQL 1 Objetivos • Describir la relevancia de la sección de ejecución • Emplear identificadores correctamente • Escribir instrucciones en la sección de ejecución • Describir las reglas de los bloques anidados • Ejecutar y comprobar un bloque PL/SQL • Empleo de convenciones de código 2 1
  • 2. Sintaxis y guía de uso • Las instrucciones pueden tener su continuación a través de varias líneas de código, no ocurriendo lo mismo con las palabras reservadas del lenguaje • Las unidades léxicas se pueden clasificar como: – Delimitadores – Identificadores – Literales – Comentarios 3 Delimitadores 4 2
  • 3. Identificadores • Pueden contener hasta 30 caracteres • Deben comenzar con un carácter alfanumérico • Pueden contener números, signos de dólar, guión bajo y símbolos de número – Identificadores válidos: money$$$tree, SN##, try_again_ • No pueden contener caracteres tales como guiones, barras, y espacios – Identificadores no válidos: dots&dashes, debit- amount, on/off, user id 5 Identificadores • No deberían tener el mismo nombre que el de una columna de una tabla de la base de datos – Si los identificadores de PL/SQL presentes en una sentencia SQL tienen el mismo nombre que una columna, entonces Oracle asume que es la columna la que está siendo referenciada. • No deberían tener el mismo nombre que las palabras reservadas – Las palabras reservado no se pueden utilizar como identificadores a menos que se encierren entre dobles comillas: “SELECT” 6 3
  • 4. Sintaxis y guía de uso • Literales – Los literales de cadena de caracteres y fecha deben estar encerrados entre comillas simples – Los números pueden expresarse como valores simples o en notación científica (-32.5, 2E5) • Una barra (/) ejecuta el bloque PL/SQL en un fichero guión o en algunos entornos tales como iSQL*PLUS. 7 Comentarios • Los comentarios de única línea se implementan usando el doble guión (--) • Para emplear comentarios de varias líneas, éstas se colocan entre /* y */. 8 4
  • 5. Funciones SQL en PL/SQL • Disponibles – Funciones numéricas (ABS, STR, TRUNC, MOD, …) – Funciones de caracteres (CHR, UPPER, LOWER, LENGTH, …) – Funciones de conversión de tipos (TO_CHAR, TO_DATE, TO_NUMBER) – Funciones de fecha (LAST_DAY, NEXT_DAY, …) – Funciones de marca de tiempo – GREATEST, LEAST – Funciones varias 9 Funciones SQL en PL/SQL • No Disponibles – DECODE – Funciones agregadas (AVG, MIN, MAX, COUNT, SUM, STDDEV, VARIANCE, …) • Las funciones agregadas se aplican a grupos de registros en una tabla y por tanto sólo están disponibles como instrucciones SQL dentro de un bloque PL/SQL. 10 5
  • 6. Funciones SQL en PL/SQL: Ejemplos • Construcción de la lista de correo para una compañía – CHR es una función SQL que convierte un código ASCII en su carácter correspondiente; 10 es el código del salto de línea • Convertir el nombre de un empleado a minúsculas 11 Conversión de tipos de datos • PL/SQL intenta convertir los tipos de datos de manera dinámica si estos se mezclan en una instrucción • Dentro de una expresión deberíamos asegurarnos de que todos los tipos de datos son iguales. • Funciones de conversión: – TO_CHAR – TO_DATE – TO_NUMBER 12 6
  • 7. Conversión de tipos de datos • Almacenar una cadena de caracteres que representa una fecha en una variable declarada como DATE provoca un error de sintaxis • Para corregir el error, hay que emplear la función de conversión TO_DATE 13 Bloques anidados y alcance de variables • Los bloques PL/SQL se pueden anidar en cualquier punto en el que se pueda introducir una instrucción ejecutable • Un bloque anidado se convierte en una instrucción • La sección de manejo de errores pueden contener también bloques anidados • El alcance de un identificador se define como la región de dicha unidad de programación (bloque, subprograma, o paquete) en la cual dicho identificador puede ser referenciado 14 7
  • 8. Bloques anidados y alcance de variables • Ejemplo: 15 Alcance de un identificador • Un identificador es visible en aquellas regiones en las que se puede referenciar dicho identificador sin tener que cualificarlo: – Un bloque puede mirar hacia el bloque que lo engloba – Un bloque no puede mirar dentro de los bloques que engloba variable 16 8
  • 9. Cualificar un identificador • El cualificador puede ser la etiqueta del bloque que engloba a otro bloque • Se puede cualificar el identificador empleando como prefijo la etiqueta del bloque 17 Determinar el alcance de una variable 18 9
  • 10. Operadores en PL/SQL • Lógicos • Aritméticos • Concatenación • Paréntesis • Operador exponencial (**) 19 Operadores en PL/SQL • Incrementar un contador en un lazo • Establecer el valor de una variable booleana • Validar si un número de empleado contiene un valor 20 10
  • 11. Operadores en PL/SQL • Las comparaciones que involucran valores nulos siempren dan como resultado NULL • Si se aplica el operador NOT a un nulo el resultado es NULL • En sentencias de control condicional, si la condición es NULL, entonces la secuencia de instrucciones asociada no se ejecuta 21 Consejos de programación • Documentar el código con comentarios • Utilización de mayúsculas (instrucciones SQL, palabras clave PL/SQL, tipos de datos) y minúsculas (identificadores y parámetros, tablas y columnas de las bases de datos) • Empleo de convenciones de notación para identificadores y otros objetos • Mejora de la lectura mediante el uso del sangrado 22 11