SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Acosta Zailuma
Aparicio Raúl
Aray Lucio
Bolívar Franklin
Cedillo Javier
González Guillermo
Gómez Alexis
REPÚBLICA BOLIVARIANA DE VENEZUELA
   MINISTERIO DEL P.P. PARA LA EDUCACIÓN UNIVERSITARIA
INSTITUTO UNIVERSITARIO DE TECNOLOGÍA DE LOS LLANOS
         VALLE DE LA PASCUA-ESTADO GUÁRICO
       PROSECUCIÓN EN INFORMÁTICA SECCION 1




                                              Participantes

                                              Acosta Zailuma
                                              Aparicio Raúl
                                              Aray Lucio
                                              Bolívar Franklin
                                              Cedillo Javier
                                              González Guillermo
                                              Gómez Alexis



             Valle de la Pascua, Junio 2012
Introducción al PL/SQL
¿Por qué PL/SQL?
• A pesar de que SQL posee mecanismos de control condicional
   (cláusula WHEN CASE) e iterativos (implícitos) en ocasiones se
   requiere:
   - Manipular y controlar los datos de una manera
    secuencial
   - Mejorar el desempeño de las aplicaciones
• Existen problemas cuya solución es más “sencilla” mediante un
   lenguaje procedimental que mediante SQL “puro”




Gómez Alexis
Introducción al PL/SQL

• Incorporación de PSM* a SQL (1992)  Incluye estructuras de
  iteración, decisión y secuencia. Creación de procedimientos,
  funciones etc.
• ORACLE proporciona su versión de PSM llamada PL/SQL
  (Procedural Language/SQL).
  En SQL Server se llama Transact SQL (T-SQL).
• En PL/SQL se pueden construir procedimientos con o sin nombre
  (anónimos), funciones, disparadores y bibliotecas de funciones y
  procedimientos llamadas paquetes.


*Persistent Stored Modules
Gómez Alexis
Instrucciones con PL / PSM
  Antes de escribir código en PL / PSM se debe seguir los siguientes
consejos:
• Utilizar el estándar de codificación recomendado.
• Usar comentarios y nombres de variables claros.
• Utilizar una identación de bloque coherente.
• No escribir un procedimiento largo (máximo 50 líneas).




 Zailuma Acosta
Hay también algunas recomendaciones adicionales para los lenguajes en general
SQL para procedimientos almacenados:
• Uso de un prefijo y un nombre de atributo calificado para evitar conflicto de
nombres de atributos y variables.
• Utilizar el control de excepciones consistentes.
• Evitar la programación ISAM – Si es posible use SQL.
• Tener cuidado acerca de los recursos – uso limitado de cursores y tablas
temporales.
• No modificar los datos de disparadores (tiggers)
• Los procedimientos deben realizar tareas concretas, no sólo encapsular los
selecciona.




Zailuma Acosta
Bloques PL/SQL

Un bloque PL/SQL es una pieza de código dividida en 3 secciones:

     DECLARE
     Sección de declaración
     BEGIN
     Sección ejecutable
     EXCEPTION
     Sección de manejo de excepciones
     END;

•    La sección de manejo de excepciones, así como la de declaración de variables es
     opcional.
•    Los bloques pueden a su vez contener otros bloques (sub-bloques)
•    Los comentarios van encerrados entre /* */.
     Si éstos no ocupan más de una línea, pueden escribirse después de
     -- (dos guiones)

Aparicio Raúl
Variables y constantes

• Los tipos de datos* en PL/SQL son: NUMBER, CHAR,VARCHAR/VARCHAR2,
  DATE, BOOLEAN entre otros.
• La sintaxis para declarar variables o constantes es:

nombre_vble [CONSTANT] TIPO [NOT NULL][:= expresión];

• En vez de := se puede usar DEFAULT.
• No se diferencian mayúsculas y minúsculas

* Algunos tienen precisión.


Aparicio Raúl
Asignación
              El operador de asignación es ":=" ; mientras que el
              operador lógico de igualdad es "=".

DECLARE
 valor NUMBER(2) := 4;
 b BOOLEAN;
 materia VARCHAR(20);
 nomcurso VARCHAR2(40);
 falta NUMBER(1);
 nro NUMBER(3);
 fecha DATE;
BEGIN
 nro := 5 * valor * 0.5;
 b := FALSE;
 materia := 'Laboratorio de';
 nomcurso := materia || ' ' || 'Bases ' || 'de ' || 'Datos';
 fecha := SYSDATE; --Fecha del sistema
 b := 5 >= nro;
END;
Gonzales Guillermo
• El PL/SQL permite utilizar directamente el sublenguaje de
  manipulación de datos DML del SQL, es decir: INSERT,
  DELETE, UPDATE, SELECT.
• Para la utilización de sentencias DDL en PL/SQL (CREATE,
  DROP, ALTER) se puede realizar así:
 a) Desde la versión 7 mediante el uso del paquete: DBMS_SQL.
  Ej:




Gonzales Guillermo
Las consultas en PL/SQL:
• Se debe proporcionar un “lugar” para guardar los datos
   devueltos por una consulta (SELECT) mediante la cláusula
   INTO.
• Un SELECT ... INTO debe retornar una y sólo una fila.
• Si no trae filas o trae múltiples filas ocurre un error
   (excepción, se verán luego).
• Cuando se traen múltiples filas es necesario el uso de cursores
   (ver luego).




Gonzales Guillermo
Control de Flujo

• Las comparaciones lógicas forman la base del control
  condicional en PL/SQL.
 Los resultados de las comparaciones siempre son verdadero
  (TRUE), falso (FALSE) o nulo (NULL).
• Cualquier “cosa” comparada con NULL da como resultado
  NULL (Desconocido).
• Los operadores lógicos son : >, <, =, !=, <=, >=, <>




Bolívar Frank
Ciclos o iteraciones
a) Ciclo simple sin límite

LOOP
<secuencia de instrucciones>
END LOOP;

Ya que es un ciclo infinito, se necesita de un
mecanismo de salida:

EXIT [WHEN <condición>];




Bolívar Frank
GOTO

      LOOP
       …
       GOTO salida;
       …
      END LOOP;
      …
      <<salida>>
      …
• No se puede hacer GOTO:
      – Desde el exterior hacia el interior de: un ciclo, un IF o un subbloque
      – Desde una excepción hacia al bloque que la contiene

                                    Se ven luego


Aray Lucio
EJEMPLO



Aray Lucio
Gracias por su
              atención




Nuestra recompensa se encuentra en el esfuerzo y no en el
     resultado. Un esfuerzo total es una victoria completa.
                                         Mahatma Gandhi
Expo db G1-Prosecuion

Weitere ähnliche Inhalte

Andere mochten auch

SDL_Brochure_US_Final
SDL_Brochure_US_FinalSDL_Brochure_US_Final
SDL_Brochure_US_Final
Vartika Monga
 
Months song
Months songMonths song
Months song
wenling
 

Andere mochten auch (11)

Образовательный центр
Образовательный центрОбразовательный центр
Образовательный центр
 
королёвмихаил аккумуляторы будущего потребители 4 през
королёвмихаил аккумуляторы будущего  потребители 4 презкоролёвмихаил аккумуляторы будущего  потребители 4 през
королёвмихаил аккумуляторы будущего потребители 4 през
 
Shapiro Legal Group
Shapiro Legal GroupShapiro Legal Group
Shapiro Legal Group
 
Meropenem trihydrate-119478-56-7-api
Meropenem trihydrate-119478-56-7-apiMeropenem trihydrate-119478-56-7-api
Meropenem trihydrate-119478-56-7-api
 
7 Lucruri de facut
7 Lucruri de facut7 Lucruri de facut
7 Lucruri de facut
 
MQ Vol. 1 No. 4 - Newsletter FALL 2014 - Print Ready
MQ Vol. 1 No. 4 - Newsletter FALL 2014 - Print ReadyMQ Vol. 1 No. 4 - Newsletter FALL 2014 - Print Ready
MQ Vol. 1 No. 4 - Newsletter FALL 2014 - Print Ready
 
Clipings
ClipingsClipings
Clipings
 
SDL_Brochure_US_Final
SDL_Brochure_US_FinalSDL_Brochure_US_Final
SDL_Brochure_US_Final
 
Months song
Months songMonths song
Months song
 
2014 Holiday Postcard
2014 Holiday Postcard2014 Holiday Postcard
2014 Holiday Postcard
 
Efemerides de octubre
Efemerides de octubreEfemerides de octubre
Efemerides de octubre
 

Ähnlich wie Expo db G1-Prosecuion

Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2
GeovannyYungan
 
Semana 3 estructuras de control
Semana 3 estructuras de controlSemana 3 estructuras de control
Semana 3 estructuras de control
victdiazm
 
Semana 5 y 6 cursores implícitos y explícitos
Semana 5 y 6 cursores implícitos y explícitosSemana 5 y 6 cursores implícitos y explícitos
Semana 5 y 6 cursores implícitos y explícitos
victdiazm
 
1_1_1_Aspectos Generales del Lenguaje PLSQL.pptx
1_1_1_Aspectos Generales del Lenguaje PLSQL.pptx1_1_1_Aspectos Generales del Lenguaje PLSQL.pptx
1_1_1_Aspectos Generales del Lenguaje PLSQL.pptx
Matiasnueno
 
Tenesaca jhonny 6_s_ti_2
Tenesaca jhonny 6_s_ti_2Tenesaca jhonny 6_s_ti_2
Tenesaca jhonny 6_s_ti_2
Jhonny Tenesaca
 
Semana 1 2 bloques plsql
Semana 1 2 bloques plsqlSemana 1 2 bloques plsql
Semana 1 2 bloques plsql
victdiazm
 
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
Andrei Hortúa
 

Ähnlich wie Expo db G1-Prosecuion (20)

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)
 
Pl
PlPl
Pl
 
1 clase de Ps /sql
    1  clase  de  Ps /sql     1  clase  de  Ps /sql
1 clase de Ps /sql
 
Lumisaca hector bdii_t7
Lumisaca hector bdii_t7Lumisaca hector bdii_t7
Lumisaca hector bdii_t7
 
Examen Sandra U Israel Oracle
Examen Sandra U Israel OracleExamen Sandra U Israel Oracle
Examen Sandra U Israel Oracle
 
Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2
 
Semana 3 estructuras de control
Semana 3 estructuras de controlSemana 3 estructuras de control
Semana 3 estructuras de control
 
Semana 5 y 6 cursores implícitos y explícitos
Semana 5 y 6 cursores implícitos y explícitosSemana 5 y 6 cursores implícitos y explícitos
Semana 5 y 6 cursores implícitos y explícitos
 
1_1_1_Aspectos Generales del Lenguaje PLSQL.pptx
1_1_1_Aspectos Generales del Lenguaje PLSQL.pptx1_1_1_Aspectos Generales del Lenguaje PLSQL.pptx
1_1_1_Aspectos Generales del Lenguaje PLSQL.pptx
 
Tenesaca jhonny 6_s_ti_2
Tenesaca jhonny 6_s_ti_2Tenesaca jhonny 6_s_ti_2
Tenesaca jhonny 6_s_ti_2
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)
 
71946780 manual-pl-sql-espanol
71946780 manual-pl-sql-espanol71946780 manual-pl-sql-espanol
71946780 manual-pl-sql-espanol
 
Tratamiento de errores
Tratamiento de erroresTratamiento de errores
Tratamiento de errores
 
Semana 1 2 bloques plsql
Semana 1 2 bloques plsqlSemana 1 2 bloques plsql
Semana 1 2 bloques plsql
 
Plsql y paquetes
Plsql y paquetesPlsql y paquetes
Plsql y paquetes
 
10_SESION_10.pdf
10_SESION_10.pdf10_SESION_10.pdf
10_SESION_10.pdf
 
PL SQL Diplomado Oracle
PL SQL Diplomado OraclePL SQL Diplomado Oracle
PL SQL Diplomado Oracle
 
PLSQL y paquetes
PLSQL y paquetesPLSQL y paquetes
PLSQL y paquetes
 
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
 

Kürzlich hochgeladen

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Kürzlich hochgeladen (11)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Expo db G1-Prosecuion

  • 1. Acosta Zailuma Aparicio Raúl Aray Lucio Bolívar Franklin Cedillo Javier González Guillermo Gómez Alexis
  • 2. REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL P.P. PARA LA EDUCACIÓN UNIVERSITARIA INSTITUTO UNIVERSITARIO DE TECNOLOGÍA DE LOS LLANOS VALLE DE LA PASCUA-ESTADO GUÁRICO PROSECUCIÓN EN INFORMÁTICA SECCION 1 Participantes Acosta Zailuma Aparicio Raúl Aray Lucio Bolívar Franklin Cedillo Javier González Guillermo Gómez Alexis Valle de la Pascua, Junio 2012
  • 3. Introducción al PL/SQL ¿Por qué PL/SQL? • A pesar de que SQL posee mecanismos de control condicional (cláusula WHEN CASE) e iterativos (implícitos) en ocasiones se requiere: - Manipular y controlar los datos de una manera secuencial - Mejorar el desempeño de las aplicaciones • Existen problemas cuya solución es más “sencilla” mediante un lenguaje procedimental que mediante SQL “puro” Gómez Alexis
  • 4. Introducción al PL/SQL • Incorporación de PSM* a SQL (1992)  Incluye estructuras de iteración, decisión y secuencia. Creación de procedimientos, funciones etc. • ORACLE proporciona su versión de PSM llamada PL/SQL (Procedural Language/SQL). En SQL Server se llama Transact SQL (T-SQL). • En PL/SQL se pueden construir procedimientos con o sin nombre (anónimos), funciones, disparadores y bibliotecas de funciones y procedimientos llamadas paquetes. *Persistent Stored Modules Gómez Alexis
  • 5. Instrucciones con PL / PSM Antes de escribir código en PL / PSM se debe seguir los siguientes consejos: • Utilizar el estándar de codificación recomendado. • Usar comentarios y nombres de variables claros. • Utilizar una identación de bloque coherente. • No escribir un procedimiento largo (máximo 50 líneas). Zailuma Acosta
  • 6. Hay también algunas recomendaciones adicionales para los lenguajes en general SQL para procedimientos almacenados: • Uso de un prefijo y un nombre de atributo calificado para evitar conflicto de nombres de atributos y variables. • Utilizar el control de excepciones consistentes. • Evitar la programación ISAM – Si es posible use SQL. • Tener cuidado acerca de los recursos – uso limitado de cursores y tablas temporales. • No modificar los datos de disparadores (tiggers) • Los procedimientos deben realizar tareas concretas, no sólo encapsular los selecciona. Zailuma Acosta
  • 7. Bloques PL/SQL Un bloque PL/SQL es una pieza de código dividida en 3 secciones: DECLARE Sección de declaración BEGIN Sección ejecutable EXCEPTION Sección de manejo de excepciones END; • La sección de manejo de excepciones, así como la de declaración de variables es opcional. • Los bloques pueden a su vez contener otros bloques (sub-bloques) • Los comentarios van encerrados entre /* */. Si éstos no ocupan más de una línea, pueden escribirse después de -- (dos guiones) Aparicio Raúl
  • 8. Variables y constantes • Los tipos de datos* en PL/SQL son: NUMBER, CHAR,VARCHAR/VARCHAR2, DATE, BOOLEAN entre otros. • La sintaxis para declarar variables o constantes es: nombre_vble [CONSTANT] TIPO [NOT NULL][:= expresión]; • En vez de := se puede usar DEFAULT. • No se diferencian mayúsculas y minúsculas * Algunos tienen precisión. Aparicio Raúl
  • 9. Asignación El operador de asignación es ":=" ; mientras que el operador lógico de igualdad es "=". DECLARE valor NUMBER(2) := 4; b BOOLEAN; materia VARCHAR(20); nomcurso VARCHAR2(40); falta NUMBER(1); nro NUMBER(3); fecha DATE; BEGIN nro := 5 * valor * 0.5; b := FALSE; materia := 'Laboratorio de'; nomcurso := materia || ' ' || 'Bases ' || 'de ' || 'Datos'; fecha := SYSDATE; --Fecha del sistema b := 5 >= nro; END; Gonzales Guillermo
  • 10. • El PL/SQL permite utilizar directamente el sublenguaje de manipulación de datos DML del SQL, es decir: INSERT, DELETE, UPDATE, SELECT. • Para la utilización de sentencias DDL en PL/SQL (CREATE, DROP, ALTER) se puede realizar así: a) Desde la versión 7 mediante el uso del paquete: DBMS_SQL. Ej: Gonzales Guillermo
  • 11. Las consultas en PL/SQL: • Se debe proporcionar un “lugar” para guardar los datos devueltos por una consulta (SELECT) mediante la cláusula INTO. • Un SELECT ... INTO debe retornar una y sólo una fila. • Si no trae filas o trae múltiples filas ocurre un error (excepción, se verán luego). • Cuando se traen múltiples filas es necesario el uso de cursores (ver luego). Gonzales Guillermo
  • 12. Control de Flujo • Las comparaciones lógicas forman la base del control condicional en PL/SQL. Los resultados de las comparaciones siempre son verdadero (TRUE), falso (FALSE) o nulo (NULL). • Cualquier “cosa” comparada con NULL da como resultado NULL (Desconocido). • Los operadores lógicos son : >, <, =, !=, <=, >=, <> Bolívar Frank
  • 13. Ciclos o iteraciones a) Ciclo simple sin límite LOOP <secuencia de instrucciones> END LOOP; Ya que es un ciclo infinito, se necesita de un mecanismo de salida: EXIT [WHEN <condición>]; Bolívar Frank
  • 14. GOTO LOOP … GOTO salida; … END LOOP; … <<salida>> … • No se puede hacer GOTO: – Desde el exterior hacia el interior de: un ciclo, un IF o un subbloque – Desde una excepción hacia al bloque que la contiene Se ven luego Aray Lucio
  • 16. Gracias por su atención Nuestra recompensa se encuentra en el esfuerzo y no en el resultado. Un esfuerzo total es una victoria completa. Mahatma Gandhi