SlideShare una empresa de Scribd logo
UNIVERSIDAD NACIONAL DE CHIMBORAZO
FACULTAD DE CIENCIAS DE LA EDUCACIÓN HUMANAS Y TECNOLOGÍAS
ESCUELA DE INFORMÁTICA APLICADA A LA EDUCACIÓN
Realizado por: Jhonny Tenesaca.
Curso: Sexto
1. Que es PL/SQL (Procedural Language/Structured Query Language) - Lenguaje de programación
incrustado en Oracle.
SQL es un lenguaje de consulta para los sistemas de bases de datos relaciónales, pero que no posee la potencia
de los lenguajes de programación. No permite el uso de variables, estructuras de control de flujo, bucles... y
demás elementos característicos de la programación. No es de extrañar, SQL es un lenguaje de consulta, no
un lenguaje de programación.
Sin embargo, SQL es la herramienta ideal para trabajar con bases de datos. Cuando se desea realizar una
aplicación completa para el manejo de una base de datos relacional, resulta necesario utilizar alguna
herramienta que soporte la capacidad de consulta del SQL y la versatilidad de los lenguajes de programación
tradicionales. PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar
con otro tipo de instrucciones y elementos propios de los lenguajes de programación.
Con PL/SQL vamos a poder programar las unidades de programa de la base de datos ORACLE, están son:
 Procedimientos almacenados
 Funciones
 Triggers
 Scripts
Pero además PL/SQL nos permite realizar programas sobre las siguientes herramientas de ORACLE:
 Oracle Forms
 Oracle Reports
 Oracle Graphics
 Oracle Aplication Server
(devjoker, 2014)
¿Qué es PL/SQL?
 Lenguaje de procesamiento procedimental.
 Implementado por Oracle.
 Dispone de estructuras de programación similares a las de la mayoría de los lenguajes de
programación.
 Objetivo: Interactuar con la B.D.
PL/SQL (Estructura Bloques Anónimos)
 [DECLARE]
Define objetos PL/SQL que serán utilizados dentro del mismo bloque
 BEGIN
Sentencias Ejecutables
 [EXCEPTION]
Qué hacer si la acción ejecutada causa error
 END;
PL/SQL (Estructura de Procedimiento)
 PROCEDURE nombre IS
Sección Declarativa
 BEGIN
Sección Ejecutable
 [EXCEPTION]
Sección de Excepciones
 END;
UNIVERSIDAD NACIONAL DE CHIMBORAZO
FACULTAD DE CIENCIAS DE LA EDUCACIÓN HUMANAS Y TECNOLOGÍAS
ESCUELA DE INFORMÁTICA APLICADA A LA EDUCACIÓN
PL/SQL (Estructura de Función)
 FUNCTION nombre RETURN tipo_dato IS
Sección Declarativa
 BEGIN
Sección Ejecutable
 [EXCEPTION]
Sección de Excepciones
 END;
PL/SQL (Declaración de Variables)
Reglas para nombres:
 Dos variables pueden tener el mismo nombre, si están en bloques diferentes.
 El nombre de la variable (identificador) no debería ser el mismo que el de una columna de una tabla
utilizada en el bloque.
PL/SQL (Asignación e Inicialización de Variables)
 Asignación:
 Inicialización:
 Por defecto, todas las variables se inicializan a NULL.
PL/SQL (Tipos de Variables)
 ESCALARES
 BOOLEANAS
 COMPUESTAS
 LOB
 DE ENLACE (BIND)
PL/SQL (Variables Escalares)
 VARCHAR2 (longitud_máxima)
 NUMBER [(precisión, escala)]
 DATE
 CHAR [(longitud_máxima)]
 LONG
 LONG RAW
 BOOLEAN
 BINARY_INTEGER
(www.mundoracle., 2014)
2. Características PL/SQL (Procedural Language/Structured Query Language) - Lenguaje de
programación incrustado en Oracle
 Utilización de constantes, variables y tipos (tanto predefinidos, como definidos por el usuario).
 Estructuras de control: bucles, ordenes condicionadas.
 Paquetes, procedimientos, funciones, bloques PL/SQL.
UNIVERSIDAD NACIONAL DE CHIMBORAZO
FACULTAD DE CIENCIAS DE LA EDUCACIÓN HUMANAS Y TECNOLOGÍAS
ESCUELA DE INFORMÁTICA APLICADA A LA EDUCACIÓN
 Funciones predefinidas: aritméticas, lógicas, relacionales.
 Cursores.
 Tratamiento de excepciones.
 Posibilidad de utilización de comentarios.
El lenguaje PL/SQL no distingue de mayúscula de minúscula.
Los comentarios monolínea van precedidos de “–” y los comentarios multilíneas estarían entre “/*” y “*/”.
VARIABLES Y CONSTANTES
La declaración de variables tiene el formato siguiente:
Nombre_variable tipo_dato [NOT NULL] [ :=valor];
La declaración de constantes tiene el formato siguiente:
Nombre_constante CONSTANT tipo_dato :=valor;
Siendo tipo_dato: tipo de datos soportados por Oracle como: NUMBER, DATE, CHAR, VARCHAR VARCHAR2,
BOOLEAN, …
BLOQUE PL/SQL
Elementos de un bloque serían:
 Declaraciones (opcional): Es donde se declaran las constantes, variables y cursores, que se utilizarán
en el bloque.
 Instrucciones (obligatorio): Contiene las sentencias a ejecutar.
 Excepciones (opcional): Desde este elemento se puede capturar las excepciones del sistema o
lanzada por el propio usuario.
BLOQUE PL/SQL NO ALMACENADO:
[ DECLARE | IS / AS ]
BEGIN
[ EXCEPTION ]
END
PROCEDIMIENTO:
CREATE [OR REPLACE] PROCEDURE nombre_procedimiento [nombre_parametro modo tipodatos_parametro
] IS | AS
BEGIN
[ EXCEPTION ]
END
FUNCIÓN:
CREATE [OR REPLACE] FUNCTION nombre_función [nombre_parámetro modo tipodatos_parametro ]
RETURN tipodatos_retorno IS | AS
BEGIN
[ EXCEPTION ]
END
TRIGGER:
CREATE [OR REPLACE] TRIGGER nombre_trigger
momento_ejecución evento [evento] ON nombre_tabla
[REFERENCING OLD AS old | NEW AS new]
FOR EACH ROW
[WHEN condición]
BEGIN
[ EXCEPTION ]
END
UNIVERSIDAD NACIONAL DE CHIMBORAZO
FACULTAD DE CIENCIAS DE LA EDUCACIÓN HUMANAS Y TECNOLOGÍAS
ESCUELA DE INFORMÁTICA APLICADA A LA EDUCACIÓN
Ejemplo procedimiento:
DECLARE
/* Declaración de la variable donde se recogerá el valor de la fecha actual */
fecha DATE;
/* Declaración genérica de error no controlado por el sistema */
error_generico CONSTANT VARCHAR2(10):= 'Error descontrolado';
BEGIN
/* Parte de ejecución */
SELECT SYSDATE INTO fecha -- Recoge la fecha actual y la asigna a la variable fecha
FROM DUAL;
dbms_output.put_line('La fecha actual es: '||fecha);
EXCEPTION
-- tratamiento de excepciones
WHEN OTHERS THEN -- Captura las excepciones generadas por el sistema
dbms_output.put_line(error_generico); -- Muestra el error declarado previamente como constante
END;
/
(mundodb, 2014)
3. Ventajas y desventajas de PL/SQL (Procedural Language/Structured Query Language) - Lenguaje de
programación incrustado en Oracle.
Ventajas.
 Creación de sentencias en tiempo de ejecución.
 Interactivo con el usuario.
 Acceder a objetos no existentes en tiempo de compilación.
 Gestión de permisos de usuarios de forma dinámica.
 Permite ejecutar instrucciones DDL (create, alter, drop, grant, …)
Desventajas
 No siempre se forman las consultas más óptimas.
 Problemas de seguridad por ataques de inyección SQL.
Bibliografía
devjoker. (2014). Programación con PL/SQL. Obtenido de Programacion .NET ASP.NET C# VB.NET
SQL Server ORACLE: http://www.devjoker.com/contenidos/articulos/21/Programacion-
con-PLSQL.aspx
mundodb. (2014). Introducción a Oracle PL/SQL. Obtenido de mundodb.es:
http://mundodb.es/introduccion-a-oracle-plsql
www.mundoracle. (2014). Manual de Iniciación a Oracle. Obtenido de mundoracle:
http://www.mundoracle.com/pl-sql.html?Pg=sql_plsql_11.htm

Más contenido relacionado

La actualidad más candente

Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
joalmerca6
 
Mapa mental de base de datos
Mapa mental de base de datosMapa mental de base de datos
Mapa mental de base de datos
Jorge Mengelle
 
Colegio fiscal tecnico yaruqui diceño y realizacion
Colegio fiscal tecnico yaruqui diceño y realizacionColegio fiscal tecnico yaruqui diceño y realizacion
Colegio fiscal tecnico yaruqui diceño y realizacion
Rossy Jaramillo
 
Tutorialpowershell
TutorialpowershellTutorialpowershell
Tutorialpowershell
rodrigonolasco
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
1da4
 
Fundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetosFundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetos
Eduardo Galindo
 
Clase4 poo-uml
Clase4 poo-umlClase4 poo-uml
Clase4 poo-uml
desimartinez
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
bautistavidalalberto
 
Uml pres
Uml  presUml  pres
Uml pres
Blace57
 
Lenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UMLLenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UML
Luis Fernando Aguas Bucheli
 
UNIDADIII. CREACION DIAGRAMA DE CLASES
UNIDADIII. CREACION DIAGRAMA DE CLASESUNIDADIII. CREACION DIAGRAMA DE CLASES
UNIDADIII. CREACION DIAGRAMA DE CLASES
Selene Gomez Barragan
 
encapsulamiento
encapsulamientoencapsulamiento
encapsulamiento
zeta2015
 
LENGUAJE TRANSACT SQL
 LENGUAJE TRANSACT SQL LENGUAJE TRANSACT SQL
LENGUAJE TRANSACT SQL
wilderroy
 
Guía interfaces
Guía interfacesGuía interfaces
Guía interfaces
lissette_torrealba
 
Perfiles UML - Eliana Concha
Perfiles UML - Eliana ConchaPerfiles UML - Eliana Concha
Perfiles UML - Eliana Concha
2008PA2Info3
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
Guillermo Díaz
 
Guía Herencia PO_O
Guía Herencia PO_OGuía Herencia PO_O
Guía Herencia PO_O
lissette_torrealba
 
Diagramas De Caso De Uso
Diagramas De Caso De UsoDiagramas De Caso De Uso
Diagramas De Caso De Uso
Miguel Leonardo Sánchez Fajardo
 
Sql
SqlSql
Sql
1da4
 
Diagrama de clases y objetos
Diagrama de clases y objetosDiagrama de clases y objetos
Diagrama de clases y objetos
Rene Guaman-Quinche
 

La actualidad más candente (20)

Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 
Mapa mental de base de datos
Mapa mental de base de datosMapa mental de base de datos
Mapa mental de base de datos
 
Colegio fiscal tecnico yaruqui diceño y realizacion
Colegio fiscal tecnico yaruqui diceño y realizacionColegio fiscal tecnico yaruqui diceño y realizacion
Colegio fiscal tecnico yaruqui diceño y realizacion
 
Tutorialpowershell
TutorialpowershellTutorialpowershell
Tutorialpowershell
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Fundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetosFundamentos del análisis orientado a objetos
Fundamentos del análisis orientado a objetos
 
Clase4 poo-uml
Clase4 poo-umlClase4 poo-uml
Clase4 poo-uml
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Uml pres
Uml  presUml  pres
Uml pres
 
Lenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UMLLenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UML
 
UNIDADIII. CREACION DIAGRAMA DE CLASES
UNIDADIII. CREACION DIAGRAMA DE CLASESUNIDADIII. CREACION DIAGRAMA DE CLASES
UNIDADIII. CREACION DIAGRAMA DE CLASES
 
encapsulamiento
encapsulamientoencapsulamiento
encapsulamiento
 
LENGUAJE TRANSACT SQL
 LENGUAJE TRANSACT SQL LENGUAJE TRANSACT SQL
LENGUAJE TRANSACT SQL
 
Guía interfaces
Guía interfacesGuía interfaces
Guía interfaces
 
Perfiles UML - Eliana Concha
Perfiles UML - Eliana ConchaPerfiles UML - Eliana Concha
Perfiles UML - Eliana Concha
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
Guía Herencia PO_O
Guía Herencia PO_OGuía Herencia PO_O
Guía Herencia PO_O
 
Diagramas De Caso De Uso
Diagramas De Caso De UsoDiagramas De Caso De Uso
Diagramas De Caso De Uso
 
Sql
SqlSql
Sql
 
Diagrama de clases y objetos
Diagrama de clases y objetosDiagrama de clases y objetos
Diagrama de clases y objetos
 

Destacado

Interaction Design: Communicating Effectively
Interaction Design: Communicating Effectively Interaction Design: Communicating Effectively
Interaction Design: Communicating Effectively
Andrea L. Ames
 
Rda p5-env-plenary-nn
Rda p5-env-plenary-nnRda p5-env-plenary-nn
Rda p5-env-plenary-nn
nickyn
 
Mactac soignies - films adhésifs impression numérique - Permacolor
Mactac soignies - films adhésifs impression numérique - PermacolorMactac soignies - films adhésifs impression numérique - Permacolor
Mactac soignies - films adhésifs impression numérique - Permacolor
Mactac Europe
 
Top 8 sales assistant resume samples
Top 8 sales assistant resume samplesTop 8 sales assistant resume samples
Top 8 sales assistant resume samples
PaulScholes999
 
Ep3 eso1 eso2_cazakiriko_al_fzayas_pperezesteve
Ep3 eso1 eso2_cazakiriko_al_fzayas_pperezesteveEp3 eso1 eso2_cazakiriko_al_fzayas_pperezesteve
Ep3 eso1 eso2_cazakiriko_al_fzayas_pperezesteve
fueyo2013
 
SW Creative Digital Comm March 13
SW Creative Digital Comm March 13SW Creative Digital Comm March 13
SW Creative Digital Comm March 13
Emily Reeves Dean
 
Tpf formation pamphlet
Tpf formation pamphletTpf formation pamphlet
Tpf formation pamphlet
Prudhvi Azad
 
Fulbright Newsletter_June 2012
Fulbright Newsletter_June 2012Fulbright Newsletter_June 2012
Fulbright Newsletter_June 2012
FulbrightRomania
 
NPS_FM Thesis-1998
NPS_FM Thesis-1998NPS_FM Thesis-1998
NPS_FM Thesis-1998
Greg Zacharski
 
TECHNICAL EDUCATION 99
TECHNICAL EDUCATION 99TECHNICAL EDUCATION 99
TECHNICAL EDUCATION 99
Sudip Das
 
Mp dhd capitulo 7 parte 3
Mp dhd capitulo 7 parte 3Mp dhd capitulo 7 parte 3
Mp dhd capitulo 7 parte 3
uceuss
 
Modeling Improved Syllabification Algorithm for Amharic
Modeling Improved Syllabification Algorithm for AmharicModeling Improved Syllabification Algorithm for Amharic
Modeling Improved Syllabification Algorithm for Amharic
Guy De Pauw
 
Up close and still dangers chernobyl
Up close and still dangers chernobylUp close and still dangers chernobyl
Up close and still dangers chernobyl
angelok.ru
 
Rg 1002
Rg 1002Rg 1002
Rg 1002
Brandomarms
 
Hunter economic update - February 2015
Hunter economic update - February 2015Hunter economic update - February 2015
Marketing&mulher
Marketing&mulherMarketing&mulher
Marketing&mulher
Alexandre Durão
 

Destacado (16)

Interaction Design: Communicating Effectively
Interaction Design: Communicating Effectively Interaction Design: Communicating Effectively
Interaction Design: Communicating Effectively
 
Rda p5-env-plenary-nn
Rda p5-env-plenary-nnRda p5-env-plenary-nn
Rda p5-env-plenary-nn
 
Mactac soignies - films adhésifs impression numérique - Permacolor
Mactac soignies - films adhésifs impression numérique - PermacolorMactac soignies - films adhésifs impression numérique - Permacolor
Mactac soignies - films adhésifs impression numérique - Permacolor
 
Top 8 sales assistant resume samples
Top 8 sales assistant resume samplesTop 8 sales assistant resume samples
Top 8 sales assistant resume samples
 
Ep3 eso1 eso2_cazakiriko_al_fzayas_pperezesteve
Ep3 eso1 eso2_cazakiriko_al_fzayas_pperezesteveEp3 eso1 eso2_cazakiriko_al_fzayas_pperezesteve
Ep3 eso1 eso2_cazakiriko_al_fzayas_pperezesteve
 
SW Creative Digital Comm March 13
SW Creative Digital Comm March 13SW Creative Digital Comm March 13
SW Creative Digital Comm March 13
 
Tpf formation pamphlet
Tpf formation pamphletTpf formation pamphlet
Tpf formation pamphlet
 
Fulbright Newsletter_June 2012
Fulbright Newsletter_June 2012Fulbright Newsletter_June 2012
Fulbright Newsletter_June 2012
 
NPS_FM Thesis-1998
NPS_FM Thesis-1998NPS_FM Thesis-1998
NPS_FM Thesis-1998
 
TECHNICAL EDUCATION 99
TECHNICAL EDUCATION 99TECHNICAL EDUCATION 99
TECHNICAL EDUCATION 99
 
Mp dhd capitulo 7 parte 3
Mp dhd capitulo 7 parte 3Mp dhd capitulo 7 parte 3
Mp dhd capitulo 7 parte 3
 
Modeling Improved Syllabification Algorithm for Amharic
Modeling Improved Syllabification Algorithm for AmharicModeling Improved Syllabification Algorithm for Amharic
Modeling Improved Syllabification Algorithm for Amharic
 
Up close and still dangers chernobyl
Up close and still dangers chernobylUp close and still dangers chernobyl
Up close and still dangers chernobyl
 
Rg 1002
Rg 1002Rg 1002
Rg 1002
 
Hunter economic update - February 2015
Hunter economic update - February 2015Hunter economic update - February 2015
Hunter economic update - February 2015
 
Marketing&mulher
Marketing&mulherMarketing&mulher
Marketing&mulher
 

Similar a Tenesaca jhonny 6_s_ti_2

Aguagallo doris 6_s_ti_2pdf vfr
Aguagallo  doris 6_s_ti_2pdf vfrAguagallo  doris 6_s_ti_2pdf vfr
Aguagallo doris 6_s_ti_2pdf vfr
Doris Aguagallo
 
Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2
GeovannyYungan
 
Valdivieso oscar 6_s_ti_2 (1).
Valdivieso oscar 6_s_ti_2 (1).Valdivieso oscar 6_s_ti_2 (1).
Valdivieso oscar 6_s_ti_2 (1).
Oscar Valdivieso
 
Rosero inés 6_s_t1_2 (1)
Rosero inés 6_s_t1_2 (1)Rosero inés 6_s_t1_2 (1)
Rosero inés 6_s_t1_2 (1)
Inés Rosero
 
Rosero inés 6_s_t1_2 (1)
Rosero inés 6_s_t1_2 (1)Rosero inés 6_s_t1_2 (1)
Rosero inés 6_s_t1_2 (1)
Inés Rosero
 
Yupa cesar 6_s_t1_2
Yupa cesar 6_s_t1_2Yupa cesar 6_s_t1_2
Yupa cesar 6_s_t1_2
Cesar Yupa
 
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)
José Toro
 
Saula ana 6_s_ti_2
Saula ana 6_s_ti_2Saula ana 6_s_ti_2
Saula ana 6_s_ti_2
Any Saula
 
Examen Sandra U Israel Oracle
Examen Sandra U Israel OracleExamen Sandra U Israel Oracle
Examen Sandra U Israel Oracle
universidad israel
 
Orden carlos 6_s_ti_2
Orden carlos 6_s_ti_2Orden carlos 6_s_ti_2
Orden carlos 6_s_ti_2
Chars Orden
 
Hector lumisaca 6 s_ti_2
Hector lumisaca 6 s_ti_2Hector lumisaca 6 s_ti_2
Hector lumisaca 6 s_ti_2
Hector Lumisaca Pinduisaca
 
10 Guía_Fundamentos de Base de Datos.docx
10 Guía_Fundamentos de Base de Datos.docx10 Guía_Fundamentos de Base de Datos.docx
10 Guía_Fundamentos de Base de Datos.docx
LeydyVeronicaDelgado
 
Herrera marcelo bdii_T7
Herrera marcelo bdii_T7Herrera marcelo bdii_T7
Herrera marcelo bdii_T7
Marcelo Herrera
 
M2-C14-2324-modulo2-bases-de-datos—-.pdf
M2-C14-2324-modulo2-bases-de-datos—-.pdfM2-C14-2324-modulo2-bases-de-datos—-.pdf
M2-C14-2324-modulo2-bases-de-datos—-.pdf
sonidemarlo
 
Tenesaca jhonny bdii_t3
Tenesaca jhonny bdii_t3Tenesaca jhonny bdii_t3
Tenesaca jhonny bdii_t3
Jhonny Tenesaca
 
Herrera marcelo bdii_6_s_tI_2
Herrera marcelo bdii_6_s_tI_2Herrera marcelo bdii_6_s_tI_2
Herrera marcelo bdii_6_s_tI_2
Marcelo Herrera
 
Act4 screencast-bdatos cmch
Act4 screencast-bdatos cmchAct4 screencast-bdatos cmch
Act4 screencast-bdatos cmch
claudia mayeli de la cruz herrera
 
Lumisaca hector bdii_t7
Lumisaca hector bdii_t7Lumisaca hector bdii_t7
Lumisaca hector bdii_t7
Hector Lumisaca Pinduisaca
 
Lenguaje Transact-SQL
Lenguaje Transact-SQLLenguaje Transact-SQL
Lenguaje Transact-SQL
GREINDER MARCHENA & LIZ VASQUEZ
 
Bloques
BloquesBloques

Similar a Tenesaca jhonny 6_s_ti_2 (20)

Aguagallo doris 6_s_ti_2pdf vfr
Aguagallo  doris 6_s_ti_2pdf vfrAguagallo  doris 6_s_ti_2pdf vfr
Aguagallo doris 6_s_ti_2pdf vfr
 
Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2
 
Valdivieso oscar 6_s_ti_2 (1).
Valdivieso oscar 6_s_ti_2 (1).Valdivieso oscar 6_s_ti_2 (1).
Valdivieso oscar 6_s_ti_2 (1).
 
Rosero inés 6_s_t1_2 (1)
Rosero inés 6_s_t1_2 (1)Rosero inés 6_s_t1_2 (1)
Rosero inés 6_s_t1_2 (1)
 
Rosero inés 6_s_t1_2 (1)
Rosero inés 6_s_t1_2 (1)Rosero inés 6_s_t1_2 (1)
Rosero inés 6_s_t1_2 (1)
 
Yupa cesar 6_s_t1_2
Yupa cesar 6_s_t1_2Yupa cesar 6_s_t1_2
Yupa cesar 6_s_t1_2
 
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)
 
Saula ana 6_s_ti_2
Saula ana 6_s_ti_2Saula ana 6_s_ti_2
Saula ana 6_s_ti_2
 
Examen Sandra U Israel Oracle
Examen Sandra U Israel OracleExamen Sandra U Israel Oracle
Examen Sandra U Israel Oracle
 
Orden carlos 6_s_ti_2
Orden carlos 6_s_ti_2Orden carlos 6_s_ti_2
Orden carlos 6_s_ti_2
 
Hector lumisaca 6 s_ti_2
Hector lumisaca 6 s_ti_2Hector lumisaca 6 s_ti_2
Hector lumisaca 6 s_ti_2
 
10 Guía_Fundamentos de Base de Datos.docx
10 Guía_Fundamentos de Base de Datos.docx10 Guía_Fundamentos de Base de Datos.docx
10 Guía_Fundamentos de Base de Datos.docx
 
Herrera marcelo bdii_T7
Herrera marcelo bdii_T7Herrera marcelo bdii_T7
Herrera marcelo bdii_T7
 
M2-C14-2324-modulo2-bases-de-datos—-.pdf
M2-C14-2324-modulo2-bases-de-datos—-.pdfM2-C14-2324-modulo2-bases-de-datos—-.pdf
M2-C14-2324-modulo2-bases-de-datos—-.pdf
 
Tenesaca jhonny bdii_t3
Tenesaca jhonny bdii_t3Tenesaca jhonny bdii_t3
Tenesaca jhonny bdii_t3
 
Herrera marcelo bdii_6_s_tI_2
Herrera marcelo bdii_6_s_tI_2Herrera marcelo bdii_6_s_tI_2
Herrera marcelo bdii_6_s_tI_2
 
Act4 screencast-bdatos cmch
Act4 screencast-bdatos cmchAct4 screencast-bdatos cmch
Act4 screencast-bdatos cmch
 
Lumisaca hector bdii_t7
Lumisaca hector bdii_t7Lumisaca hector bdii_t7
Lumisaca hector bdii_t7
 
Lenguaje Transact-SQL
Lenguaje Transact-SQLLenguaje Transact-SQL
Lenguaje Transact-SQL
 
Bloques
BloquesBloques
Bloques
 

Más de Jhonny Tenesaca

Informe vnc
Informe vncInforme vnc
Informe vnc
Jhonny Tenesaca
 
Informe teamviewer
Informe teamviewerInforme teamviewer
Informe teamviewer
Jhonny Tenesaca
 
Ejercicios de subnetting
Ejercicios de subnettingEjercicios de subnetting
Ejercicios de subnetting
Jhonny Tenesaca
 
Ejercicios subnetting y vlsm
Ejercicios subnetting y vlsmEjercicios subnetting y vlsm
Ejercicios subnetting y vlsm
Jhonny Tenesaca
 
Autobibliografía
AutobibliografíaAutobibliografía
Autobibliografía
Jhonny Tenesaca
 
Acuerdosy compromisosupa2014
Acuerdosy compromisosupa2014Acuerdosy compromisosupa2014
Acuerdosy compromisosupa2014
Jhonny Tenesaca
 
Actade compromisoupa2014
Actade compromisoupa2014Actade compromisoupa2014
Actade compromisoupa2014
Jhonny Tenesaca
 
Silabo redes de computadores ii
Silabo redes de computadores iiSilabo redes de computadores ii
Silabo redes de computadores ii
Jhonny Tenesaca
 
Plan de recuperaciòn_pedagògica_jhonny
Plan de recuperaciòn_pedagògica_jhonnyPlan de recuperaciòn_pedagògica_jhonny
Plan de recuperaciòn_pedagògica_jhonny
Jhonny Tenesaca
 
Planes de clases u.e amelia gallego
Planes de clases u.e amelia gallegoPlanes de clases u.e amelia gallego
Planes de clases u.e amelia gallego
Jhonny Tenesaca
 
Tenesaca jhonny rl_1
Tenesaca jhonny rl_1Tenesaca jhonny rl_1
Tenesaca jhonny rl_1
Jhonny Tenesaca
 
Tenesaca jhonny bdii_t8
Tenesaca jhonny bdii_t8Tenesaca jhonny bdii_t8
Tenesaca jhonny bdii_t8
Jhonny Tenesaca
 
Tenesaca jhonny bdii_t7
Tenesaca jhonny bdii_t7Tenesaca jhonny bdii_t7
Tenesaca jhonny bdii_t7
Jhonny Tenesaca
 
Tenesaca jhonny bdii_t2
Tenesaca jhonny bdii_t2Tenesaca jhonny bdii_t2
Tenesaca jhonny bdii_t2
Jhonny Tenesaca
 
Tenesaca jhonny bdii_t1
Tenesaca jhonny bdii_t1Tenesaca jhonny bdii_t1
Tenesaca jhonny bdii_t1
Jhonny Tenesaca
 
Tenesaca jhonny 6_s_ti_1
Tenesaca jhonny 6_s_ti_1Tenesaca jhonny 6_s_ti_1
Tenesaca jhonny 6_s_ti_1
Jhonny Tenesaca
 
Actividades geogebra3
Actividades geogebra3Actividades geogebra3
Actividades geogebra3
Jhonny Tenesaca
 
1 bases de-datos
1 bases de-datos1 bases de-datos
1 bases de-datos
Jhonny Tenesaca
 
Funcion
FuncionFuncion
Bloque curricular
Bloque curricularBloque curricular
Bloque curricular
Jhonny Tenesaca
 

Más de Jhonny Tenesaca (20)

Informe vnc
Informe vncInforme vnc
Informe vnc
 
Informe teamviewer
Informe teamviewerInforme teamviewer
Informe teamviewer
 
Ejercicios de subnetting
Ejercicios de subnettingEjercicios de subnetting
Ejercicios de subnetting
 
Ejercicios subnetting y vlsm
Ejercicios subnetting y vlsmEjercicios subnetting y vlsm
Ejercicios subnetting y vlsm
 
Autobibliografía
AutobibliografíaAutobibliografía
Autobibliografía
 
Acuerdosy compromisosupa2014
Acuerdosy compromisosupa2014Acuerdosy compromisosupa2014
Acuerdosy compromisosupa2014
 
Actade compromisoupa2014
Actade compromisoupa2014Actade compromisoupa2014
Actade compromisoupa2014
 
Silabo redes de computadores ii
Silabo redes de computadores iiSilabo redes de computadores ii
Silabo redes de computadores ii
 
Plan de recuperaciòn_pedagògica_jhonny
Plan de recuperaciòn_pedagògica_jhonnyPlan de recuperaciòn_pedagògica_jhonny
Plan de recuperaciòn_pedagògica_jhonny
 
Planes de clases u.e amelia gallego
Planes de clases u.e amelia gallegoPlanes de clases u.e amelia gallego
Planes de clases u.e amelia gallego
 
Tenesaca jhonny rl_1
Tenesaca jhonny rl_1Tenesaca jhonny rl_1
Tenesaca jhonny rl_1
 
Tenesaca jhonny bdii_t8
Tenesaca jhonny bdii_t8Tenesaca jhonny bdii_t8
Tenesaca jhonny bdii_t8
 
Tenesaca jhonny bdii_t7
Tenesaca jhonny bdii_t7Tenesaca jhonny bdii_t7
Tenesaca jhonny bdii_t7
 
Tenesaca jhonny bdii_t2
Tenesaca jhonny bdii_t2Tenesaca jhonny bdii_t2
Tenesaca jhonny bdii_t2
 
Tenesaca jhonny bdii_t1
Tenesaca jhonny bdii_t1Tenesaca jhonny bdii_t1
Tenesaca jhonny bdii_t1
 
Tenesaca jhonny 6_s_ti_1
Tenesaca jhonny 6_s_ti_1Tenesaca jhonny 6_s_ti_1
Tenesaca jhonny 6_s_ti_1
 
Actividades geogebra3
Actividades geogebra3Actividades geogebra3
Actividades geogebra3
 
1 bases de-datos
1 bases de-datos1 bases de-datos
1 bases de-datos
 
Funcion
FuncionFuncion
Funcion
 
Bloque curricular
Bloque curricularBloque curricular
Bloque curricular
 

Tenesaca jhonny 6_s_ti_2

  • 1. UNIVERSIDAD NACIONAL DE CHIMBORAZO FACULTAD DE CIENCIAS DE LA EDUCACIÓN HUMANAS Y TECNOLOGÍAS ESCUELA DE INFORMÁTICA APLICADA A LA EDUCACIÓN Realizado por: Jhonny Tenesaca. Curso: Sexto 1. Que es PL/SQL (Procedural Language/Structured Query Language) - Lenguaje de programación incrustado en Oracle. SQL es un lenguaje de consulta para los sistemas de bases de datos relaciónales, pero que no posee la potencia de los lenguajes de programación. No permite el uso de variables, estructuras de control de flujo, bucles... y demás elementos característicos de la programación. No es de extrañar, SQL es un lenguaje de consulta, no un lenguaje de programación. Sin embargo, SQL es la herramienta ideal para trabajar con bases de datos. Cuando se desea realizar una aplicación completa para el manejo de una base de datos relacional, resulta necesario utilizar alguna herramienta que soporte la capacidad de consulta del SQL y la versatilidad de los lenguajes de programación tradicionales. PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los lenguajes de programación. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos ORACLE, están son:  Procedimientos almacenados  Funciones  Triggers  Scripts Pero además PL/SQL nos permite realizar programas sobre las siguientes herramientas de ORACLE:  Oracle Forms  Oracle Reports  Oracle Graphics  Oracle Aplication Server (devjoker, 2014) ¿Qué es PL/SQL?  Lenguaje de procesamiento procedimental.  Implementado por Oracle.  Dispone de estructuras de programación similares a las de la mayoría de los lenguajes de programación.  Objetivo: Interactuar con la B.D. PL/SQL (Estructura Bloques Anónimos)  [DECLARE] Define objetos PL/SQL que serán utilizados dentro del mismo bloque  BEGIN Sentencias Ejecutables  [EXCEPTION] Qué hacer si la acción ejecutada causa error  END; PL/SQL (Estructura de Procedimiento)  PROCEDURE nombre IS Sección Declarativa  BEGIN Sección Ejecutable  [EXCEPTION] Sección de Excepciones  END;
  • 2. UNIVERSIDAD NACIONAL DE CHIMBORAZO FACULTAD DE CIENCIAS DE LA EDUCACIÓN HUMANAS Y TECNOLOGÍAS ESCUELA DE INFORMÁTICA APLICADA A LA EDUCACIÓN PL/SQL (Estructura de Función)  FUNCTION nombre RETURN tipo_dato IS Sección Declarativa  BEGIN Sección Ejecutable  [EXCEPTION] Sección de Excepciones  END; PL/SQL (Declaración de Variables) Reglas para nombres:  Dos variables pueden tener el mismo nombre, si están en bloques diferentes.  El nombre de la variable (identificador) no debería ser el mismo que el de una columna de una tabla utilizada en el bloque. PL/SQL (Asignación e Inicialización de Variables)  Asignación:  Inicialización:  Por defecto, todas las variables se inicializan a NULL. PL/SQL (Tipos de Variables)  ESCALARES  BOOLEANAS  COMPUESTAS  LOB  DE ENLACE (BIND) PL/SQL (Variables Escalares)  VARCHAR2 (longitud_máxima)  NUMBER [(precisión, escala)]  DATE  CHAR [(longitud_máxima)]  LONG  LONG RAW  BOOLEAN  BINARY_INTEGER (www.mundoracle., 2014) 2. Características PL/SQL (Procedural Language/Structured Query Language) - Lenguaje de programación incrustado en Oracle  Utilización de constantes, variables y tipos (tanto predefinidos, como definidos por el usuario).  Estructuras de control: bucles, ordenes condicionadas.  Paquetes, procedimientos, funciones, bloques PL/SQL.
  • 3. UNIVERSIDAD NACIONAL DE CHIMBORAZO FACULTAD DE CIENCIAS DE LA EDUCACIÓN HUMANAS Y TECNOLOGÍAS ESCUELA DE INFORMÁTICA APLICADA A LA EDUCACIÓN  Funciones predefinidas: aritméticas, lógicas, relacionales.  Cursores.  Tratamiento de excepciones.  Posibilidad de utilización de comentarios. El lenguaje PL/SQL no distingue de mayúscula de minúscula. Los comentarios monolínea van precedidos de “–” y los comentarios multilíneas estarían entre “/*” y “*/”. VARIABLES Y CONSTANTES La declaración de variables tiene el formato siguiente: Nombre_variable tipo_dato [NOT NULL] [ :=valor]; La declaración de constantes tiene el formato siguiente: Nombre_constante CONSTANT tipo_dato :=valor; Siendo tipo_dato: tipo de datos soportados por Oracle como: NUMBER, DATE, CHAR, VARCHAR VARCHAR2, BOOLEAN, … BLOQUE PL/SQL Elementos de un bloque serían:  Declaraciones (opcional): Es donde se declaran las constantes, variables y cursores, que se utilizarán en el bloque.  Instrucciones (obligatorio): Contiene las sentencias a ejecutar.  Excepciones (opcional): Desde este elemento se puede capturar las excepciones del sistema o lanzada por el propio usuario. BLOQUE PL/SQL NO ALMACENADO: [ DECLARE | IS / AS ] BEGIN [ EXCEPTION ] END PROCEDIMIENTO: CREATE [OR REPLACE] PROCEDURE nombre_procedimiento [nombre_parametro modo tipodatos_parametro ] IS | AS BEGIN [ EXCEPTION ] END FUNCIÓN: CREATE [OR REPLACE] FUNCTION nombre_función [nombre_parámetro modo tipodatos_parametro ] RETURN tipodatos_retorno IS | AS BEGIN [ EXCEPTION ] END TRIGGER: CREATE [OR REPLACE] TRIGGER nombre_trigger momento_ejecución evento [evento] ON nombre_tabla [REFERENCING OLD AS old | NEW AS new] FOR EACH ROW [WHEN condición] BEGIN [ EXCEPTION ] END
  • 4. UNIVERSIDAD NACIONAL DE CHIMBORAZO FACULTAD DE CIENCIAS DE LA EDUCACIÓN HUMANAS Y TECNOLOGÍAS ESCUELA DE INFORMÁTICA APLICADA A LA EDUCACIÓN Ejemplo procedimiento: DECLARE /* Declaración de la variable donde se recogerá el valor de la fecha actual */ fecha DATE; /* Declaración genérica de error no controlado por el sistema */ error_generico CONSTANT VARCHAR2(10):= 'Error descontrolado'; BEGIN /* Parte de ejecución */ SELECT SYSDATE INTO fecha -- Recoge la fecha actual y la asigna a la variable fecha FROM DUAL; dbms_output.put_line('La fecha actual es: '||fecha); EXCEPTION -- tratamiento de excepciones WHEN OTHERS THEN -- Captura las excepciones generadas por el sistema dbms_output.put_line(error_generico); -- Muestra el error declarado previamente como constante END; / (mundodb, 2014) 3. Ventajas y desventajas de PL/SQL (Procedural Language/Structured Query Language) - Lenguaje de programación incrustado en Oracle. Ventajas.  Creación de sentencias en tiempo de ejecución.  Interactivo con el usuario.  Acceder a objetos no existentes en tiempo de compilación.  Gestión de permisos de usuarios de forma dinámica.  Permite ejecutar instrucciones DDL (create, alter, drop, grant, …) Desventajas  No siempre se forman las consultas más óptimas.  Problemas de seguridad por ataques de inyección SQL. Bibliografía devjoker. (2014). Programación con PL/SQL. Obtenido de Programacion .NET ASP.NET C# VB.NET SQL Server ORACLE: http://www.devjoker.com/contenidos/articulos/21/Programacion- con-PLSQL.aspx mundodb. (2014). Introducción a Oracle PL/SQL. Obtenido de mundodb.es: http://mundodb.es/introduccion-a-oracle-plsql www.mundoracle. (2014). Manual de Iniciación a Oracle. Obtenido de mundoracle: http://www.mundoracle.com/pl-sql.html?Pg=sql_plsql_11.htm