SlideShare una empresa de Scribd logo
Por: Byron Quisquinay
Introducción a este curso
 El presente es un curso dirigido en modalidad de








tutoría, empleando la exposición como método de
transmisión del conocimiento.
Tiene como objetivo el preparar a su audiencia para el
uso de este lenguaje para crear soluciones
informáticas.
Se pretende tener sesiones de exposición y de
problemas en clase para afianzar el conocimiento.
Además en cada sesión se dejará una tarea.
Al finalizar existirá una evaluación final.
¿Qué es PL/SQL?
 PL/SQL es definido como una extensión de SQL.

Permite la utilización de sentencias SQL y sentencias
en modalidad de control tales como If, sentencias de
bucles (ciclos) y muchas más herramientas propias del
lenguaje. Es un lenguaje estructurado por bloques y
es portable pues una vez enviado a Oracle podrá ser
interpretado y ejecutado, es decir, si usted envía a
través de una conexión de Base de Datos Oracle no
importa la plataforma desde donde la envíe si ésta
logra conexiones a la Base de Datos Oracle.
Categorías de PL/SQL
Existen dos categorías de PL/SQL
 PL/SQL anónimo o de bloque anónimo y
 Procedimientos almacenados (Stored Procedures).
 Los primeros son aquellos que no están almacenados y

compilados en la base de datos. Pueden pues residir en
archivos para su ejecución con alguna herramienta como
SLQ Developer de Oracle o bien estar embebidos en alguna
aplicación.
 Los segundos si están almacenados en la base de datos con
un nombre y pueden ser invocados desde Aplicativos o
herramientas tales como SQL Developer de Oracle.
Estructura de un PL/SQL
Declare
<Declaración de variables o constantes>

Begin
<Cuerpo del PL>
[Exepciones] <Manejo de excepciones.>

End;
Un PL anónimo simple
Declare
Begin
dbms_output.put_line(´Mensaje´);

End;
Un PL/SQL para insertar datos a
una tabla
 Para este punto deberá contar con el script:

Script_curso_PLSQL_Basico_m1_01.sql, en él están:
 Sentencias para crear Secuencias y tablas.
 Además del PL/SQL que permitirá realizar el insert a

una tabla.
--Script de PL/SQL
--Curso de PL/SQL Básico
--01
declare
v_id_cliente number(10);
v_nombres varchar2(100);
v_apellidos varchar2(100);
begin
--Se asigna siguiente valor de secuencia a v_id_cliente
begin
select seq_id_cliente_telco_01.nextval
into v_id_cliente
from dual;
end;
--Asignación de valores a variables.
v_nombres := 'Juan Plablo';
v_apellidos := 'Pérez Pérez';
--Inserción de datos a tabla de clientes
begin
insert
into tbl_cliente_telco
(id_cliente,
nombres,
apellidos
)
values
(
v_id_cliente,
v_nombres,
v_apellidos
);
end;
commit;
end;
Modifique el PL anterior para:
 Que inserte sus nombres y apellidos.
 Declare una variable más que deberá recibir la

cantidad de registros que hay en la tabla de Cliente.
 Mande un mensaje con la cantidad de registros.
Actualizando Datos
 Del Script ejecute la sentencia de agregado de campos

a la tabla.
 Luego copie el Script para actualizado de información.
 Ejecútelo.
 Compruebe con Select la información de la tabla de
Clientes.
--Curso:
PL/SQL Básico
--Script:
Script_curso_PLSQL_Basico_m1_01
--Objetivo:
Instruir a los participantes del curso en el uso de PL/SQL para la
actualización de datos
--Autor:
Byron Quisquinay
--Fecha Elaboración: 12/12/2013
--Versión del script: 01
declare
begin
begin
update tbl_cliente_telco
set nit = '2562903-4',
dpi = '123456789012'
where id_cliente = 1;
end;
commit;
end;
Modifique el PL anterior para:
 Actualice los datos del otro cliente que usted insertó.
 También emplee el script para inserción de datos e

inserte un cliente más, con todos los datos incluyendo
NIT y DPI.
Borrando Datos
 De su escript del módulo 1 de este curso, copie el Script

para borrado de información.
 Ejecútelo.
 Comprueba la información en la tabla de Clientes.
--Curso:
PL/SQL Básico
--Script:
Script_curso_PLSQL_Basico_m1_01
--Objetivo:
Instruir a los participantes del curso en el uso de PL/SQL
para el borrado de datos
--Autor:
Byron Quisquinay
--Fecha Elaboración: 12/12/2013
--Versión del script: 01
declare
begin
begin
delete tbl_cliente_telco
where id_cliente = 3;
end;
commit;
end;
%rowtype:
 Que permite definir un tipo de dato basado en un

objeto.
 De su script del módulo 1 emplee el Script para uso de
%rowtype.
 Ejecútelo.
 Examine el código y determine la salida en la
herramienta que emplea para ejecutar SQL o PL/SQL.
--Curso:
PL/SQL Básico
--Script:
Script_curso_PLSQL_Basico_m1_01
--Objetivo:
Instruir a los participantes del curso en el uso de %rowtype para definir
tipos.
--Autor:
Byron Quisquinay
--Fecha Elaboración: 12/12/2013
--Versión del script: 01
declare
v_datos_cliente tbl_cliente_telco%rowtype;
begin
begin
select *
into v_datos_cliente
from tbl_cliente_telco
where id_cliente = 1;
end;
dbms_output.put_line('Cliente no: '||v_datos_cliente.id_cliente||' - Nombres:
'||v_datos_cliente.nombres||' - Apellidos: '||v_datos_cliente.apellidos||' - Nit:
'||v_datos_cliente.nit||' - Número de DPI: '||v_datos_cliente.dpi);
commit;
end;
TAREA del Módulo 1 PL/SQL anónimo 1
 Construya un PL anónimo que:
 Tenga variables:



Para la fecha del Sistema.
Nombre de usuario de Base de Datos de la sesión.

 Que asigne los valores a las variables, usando Select Into.
 Que despliegue como salida de ejecución los datos de la

variable.
TAREA del Módulo 1 PL/SQL anónimo 2
 Construya un PL anónimo que:
1.

Con la función Sys_context seleccione:
SELECT SYS_CONTEXT ('USERENV', 'CURRENT_SCHEMA') Esquema,
YS_CONTEXT ('USERENV', 'CURRENT_USER')
Usuario,
SYS_CONTEXT ('USERENV', 'SESSION_USER')
Usuario_sesion,
SYS_CONTEXT ('USERENV', 'HOST')
Nombre_Maquina,
SYS_CONTEXT ('USERENV', 'IP_ADDRESS')
IP_Maquina,
SYS_CONTEXT ('USERENV', 'DB_DOMAIN')
FROM DUAL;

2.

Asigne a variables esos valores y desplieguelos en la salida de
ejecución de la herramienta que emplea para el acceso a la
Base de Datos:
TAREA del Módulo 1 PL/SQL anónimo 3
 Cree una tabla que lleve el log de lo que irá haciendo el

PL/anónimo que:
1.
1.
2.
3.

2.
3.
4.
5.
6.
7.
8.
9.

Inserte en su tabla de bitácora de ejecución o Log:
La Fecha (con hora y minutos)
Una Leyenda que diga: Inicia proceso.
El usuario de Base de Datos que lo ejecutó.
Seleccione la cantidad de clientes (y lo asigne a una variable) y
escriba (inserte) en el log: Cantidad de Clientes: xx.
Que en una variable de tipo ‘Tabla de Clientes’ se asignen los
valores para todos los campos de la tabla para el cliente 3.
Escriba (inserte) en el log los datos con leyendas que permitan
interpretar la información.
Que inserte en la bitácora la leyenda ‘Eliminando datos’.
Que borre la información del cliente 2.
Que haga un conteo de registros asignado a una variable.
Que escriba en el log la cantidad de registros.
Por último que inserte la leyenda ‘Fin del Proceso’.
TAREA del Módulo 1 PL/SQL anónimo 4
 En un archivo del Script para esta sesión del curso

usted tiene sentencias SQL para crear tablas,
secuencias, así como para realizar inserts. Recuerde
hacer commit pues el script no lo incluye.
 Ahora le toca construir un PL/SQL anónimo que
busque el precio de un artículo, busque el que está
insertado en el detalle de factura y asigne el valor en
una variable.
 Luego actualice el detalle definiendo el valor
apropiado para TOTAL_ARTICULO, basado en la
multiplicación de la cantidad del artículo por el precio
del mismo.
Debe entregar:
PL/SQL ANÓNIMO 1

20 Puntos

PL/SQL ANÓNIMO 2

20 Puntos

PL/SQL ANÓNIMO 3

30 Puntos

PL/SQL ANÓNIMO 4

30 Puntos

Entrege un archivo con cada PL/SQL anónimo con el nombre:
Script_plsql_anónimo_modulo1_<Número de PL[1..4]>_<su nombre completo>.sql

Más contenido relacionado

La actualidad más candente

Examen Sandra U Israel Oracle
Examen Sandra U Israel OracleExamen Sandra U Israel Oracle
Examen Sandra U Israel Oracle
universidad israel
 
TRANSACT-SQL
TRANSACT-SQLTRANSACT-SQL
TRANSACT-SQL
karlajanethlopez
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
thalia margarita serrano diaz
 
Act4 screencast-bdatos cmch
Act4 screencast-bdatos cmchAct4 screencast-bdatos cmch
Act4 screencast-bdatos cmch
claudia mayeli de la cruz herrera
 
Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2
GeovannyYungan
 
Bloques
BloquesBloques
Lenguaje Transact SQL
Lenguaje Transact SQL Lenguaje Transact SQL
Lenguaje Transact SQL
Jorge Paredes Toledo
 
Transact sql
Transact sqlTransact sql
Transact sqljoan
 
Lenguaje Sql
Lenguaje SqlLenguaje Sql
Lenguaje Sql
skuld.lina
 
Lenguaje sql
Lenguaje sqlLenguaje sql
Lenguaje sql
Miguel Alejo Alejo
 
Statement
StatementStatement
103305862 t-sql
103305862 t-sql103305862 t-sql
103305862 t-sql
santi perugachi
 
Programacion con SQL Server 2005
Programacion con SQL Server 2005Programacion con SQL Server 2005
Programacion con SQL Server 2005
brobelo
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenadosbat1820
 
Funciones y procedimientos en SQL
Funciones y procedimientos en SQLFunciones y procedimientos en SQL
Funciones y procedimientos en SQLRonald Rivas
 
7.1. procedimientos almacenados
7.1.  procedimientos almacenados7.1.  procedimientos almacenados
7.1. procedimientos almacenados
Rigoberto Gonzalez Fuentes
 
4. sql (autoguardado)
4. sql (autoguardado)4. sql (autoguardado)
4. sql (autoguardado)felpe33
 
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Universidad Nacional de Piura
 

La actualidad más candente (20)

Examen Sandra U Israel Oracle
Examen Sandra U Israel OracleExamen Sandra U Israel Oracle
Examen Sandra U Israel Oracle
 
TRANSACT-SQL
TRANSACT-SQLTRANSACT-SQL
TRANSACT-SQL
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 
Act4 screencast-bdatos cmch
Act4 screencast-bdatos cmchAct4 screencast-bdatos cmch
Act4 screencast-bdatos cmch
 
Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2Yungan geovanny 6_s_ti_2
Yungan geovanny 6_s_ti_2
 
Bloques
BloquesBloques
Bloques
 
Lenguaje Transact SQL
Lenguaje Transact SQL Lenguaje Transact SQL
Lenguaje Transact SQL
 
Transact sql
Transact sqlTransact sql
Transact sql
 
1. introduccion a transact-sql
1.  introduccion a transact-sql1.  introduccion a transact-sql
1. introduccion a transact-sql
 
Lenguaje Sql
Lenguaje SqlLenguaje Sql
Lenguaje Sql
 
Lenguaje sql
Lenguaje sqlLenguaje sql
Lenguaje sql
 
Statement
StatementStatement
Statement
 
Capitulo 2
Capitulo 2Capitulo 2
Capitulo 2
 
103305862 t-sql
103305862 t-sql103305862 t-sql
103305862 t-sql
 
Programacion con SQL Server 2005
Programacion con SQL Server 2005Programacion con SQL Server 2005
Programacion con SQL Server 2005
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Funciones y procedimientos en SQL
Funciones y procedimientos en SQLFunciones y procedimientos en SQL
Funciones y procedimientos en SQL
 
7.1. procedimientos almacenados
7.1.  procedimientos almacenados7.1.  procedimientos almacenados
7.1. procedimientos almacenados
 
4. sql (autoguardado)
4. sql (autoguardado)4. sql (autoguardado)
4. sql (autoguardado)
 
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
 

Destacado

Curso java y j2 EE
Curso java y j2 EECurso java y j2 EE
Curso java y j2 EE
Juan David Morales
 
PROYECTO MODULO CLIENTE SERVIDOR
PROYECTO MODULO CLIENTE SERVIDORPROYECTO MODULO CLIENTE SERVIDOR
PROYECTO MODULO CLIENTE SERVIDOR
Laddy Mathita
 
Inciando con AngularJS y JavaEE 7
Inciando con AngularJS y JavaEE 7Inciando con AngularJS y JavaEE 7
Inciando con AngularJS y JavaEE 7
Víctor Leonel Orozco López
 
PL/SQL - Conceitos Básicos
PL/SQL - Conceitos BásicosPL/SQL - Conceitos Básicos
PL/SQL - Conceitos Básicos
Danilo Braga
 
Apostila completa-oracle-programando-oracle
Apostila completa-oracle-programando-oracleApostila completa-oracle-programando-oracle
Apostila completa-oracle-programando-oracle79anderson
 
Introducción a java EE 7
Introducción a java EE 7Introducción a java EE 7
Introducción a java EE 7
Carlos Camacho
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EE
Carlos Gavidia-Calderon
 
5 características del lenguaje cobol
5 características del lenguaje cobol5 características del lenguaje cobol
5 características del lenguaje cobolGili Freire
 
Tomcat y Java EE con TomEE {y mucho más}
Tomcat y Java EE con TomEE {y mucho más}Tomcat y Java EE con TomEE {y mucho más}
Tomcat y Java EE con TomEE {y mucho más}
Alex Soto
 

Destacado (11)

Curso java y j2 EE
Curso java y j2 EECurso java y j2 EE
Curso java y j2 EE
 
PROYECTO MODULO CLIENTE SERVIDOR
PROYECTO MODULO CLIENTE SERVIDORPROYECTO MODULO CLIENTE SERVIDOR
PROYECTO MODULO CLIENTE SERVIDOR
 
Triggers ii
Triggers iiTriggers ii
Triggers ii
 
Inciando con AngularJS y JavaEE 7
Inciando con AngularJS y JavaEE 7Inciando con AngularJS y JavaEE 7
Inciando con AngularJS y JavaEE 7
 
PL/SQL - Conceitos Básicos
PL/SQL - Conceitos BásicosPL/SQL - Conceitos Básicos
PL/SQL - Conceitos Básicos
 
Apostila completa-oracle-programando-oracle
Apostila completa-oracle-programando-oracleApostila completa-oracle-programando-oracle
Apostila completa-oracle-programando-oracle
 
JEE y Tomcat
JEE y TomcatJEE y Tomcat
JEE y Tomcat
 
Introducción a java EE 7
Introducción a java EE 7Introducción a java EE 7
Introducción a java EE 7
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EE
 
5 características del lenguaje cobol
5 características del lenguaje cobol5 características del lenguaje cobol
5 características del lenguaje cobol
 
Tomcat y Java EE con TomEE {y mucho más}
Tomcat y Java EE con TomEE {y mucho más}Tomcat y Java EE con TomEE {y mucho más}
Tomcat y Java EE con TomEE {y mucho más}
 

Similar a Curso de pl sql básico

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
 
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
 
Script
ScriptScript
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
 
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
 
Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10
Byron Quisquinay
 
Programacion en WinCupl
Programacion en WinCuplProgramacion en WinCupl
Programacion en WinCupl
Gilbert_28
 
APLICACIONES EMPRESARIALES
APLICACIONES EMPRESARIALESAPLICACIONES EMPRESARIALES
APLICACIONES EMPRESARIALESDarwin Durand
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
INGRID LESLY CORONEL ACUÑA
 
Introduccion a SQL
Introduccion a SQL Introduccion a SQL
Introduccion a SQL
Renatta Rodriguez
 
Base de Datos Avanzado I.pdf
Base de Datos Avanzado I.pdfBase de Datos Avanzado I.pdf
Base de Datos Avanzado I.pdf
luis268260
 
Base de Datos Avanzado I.pdf
Base de Datos Avanzado I.pdfBase de Datos Avanzado I.pdf
Base de Datos Avanzado I.pdf
vanessapadillalopez
 
Saula ana bdii_t7
Saula ana bdii_t7Saula ana bdii_t7
Saula ana bdii_t7
Any Saula
 
Bases de datos módulo 3 el lenguaje sql
Bases de datos módulo 3 el lenguaje sqlBases de datos módulo 3 el lenguaje sql
Bases de datos módulo 3 el lenguaje sql
FreddyRomana
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
Andy Dawson
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephpbetabeers
 

Similar a Curso de pl sql básico (20)

Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
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)
 
Script
ScriptScript
Script
 
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
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10Curso de SQL Básico parte 1 de 10
Curso de SQL Básico parte 1 de 10
 
SESION 05.pdf
SESION 05.pdfSESION 05.pdf
SESION 05.pdf
 
t-sql
t-sqlt-sql
t-sql
 
Programacion en WinCupl
Programacion en WinCuplProgramacion en WinCupl
Programacion en WinCupl
 
Lenguaje sql
Lenguaje sqlLenguaje sql
Lenguaje sql
 
APLICACIONES EMPRESARIALES
APLICACIONES EMPRESARIALESAPLICACIONES EMPRESARIALES
APLICACIONES EMPRESARIALES
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Introduccion a SQL
Introduccion a SQL Introduccion a SQL
Introduccion a SQL
 
Base de Datos Avanzado I.pdf
Base de Datos Avanzado I.pdfBase de Datos Avanzado I.pdf
Base de Datos Avanzado I.pdf
 
Base de Datos Avanzado I.pdf
Base de Datos Avanzado I.pdfBase de Datos Avanzado I.pdf
Base de Datos Avanzado I.pdf
 
Saula ana bdii_t7
Saula ana bdii_t7Saula ana bdii_t7
Saula ana bdii_t7
 
Bases de datos módulo 3 el lenguaje sql
Bases de datos módulo 3 el lenguaje sqlBases de datos módulo 3 el lenguaje sql
Bases de datos módulo 3 el lenguaje sql
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Practica1
Practica1Practica1
Practica1
 

Más de Byron Quisquinay

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
 
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
 
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
 
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
 
Manual del curso de sql fundamentos y práctica
Manual del curso de sql   fundamentos y prácticaManual del curso de sql   fundamentos y práctica
Manual del curso de sql fundamentos y práctica
Byron Quisquinay
 
101 queries sql aplicado - respuestas
101 queries  sql aplicado - respuestas101 queries  sql aplicado - respuestas
101 queries sql aplicado - respuestasByron Quisquinay
 
Comprendiendo UML para el área de desarrollo
Comprendiendo UML para el área de desarrollo Comprendiendo UML para el área de desarrollo
Comprendiendo UML para el área de desarrollo
Byron Quisquinay
 
Comprendiendo RUP
Comprendiendo   RUPComprendiendo   RUP
Comprendiendo RUP
Byron Quisquinay
 
Casos de uso qué - cómo... por byron quisquinay
Casos de uso   qué - cómo... por byron quisquinayCasos de uso   qué - cómo... por byron quisquinay
Casos de uso qué - cómo... por byron quisquinay
Byron Quisquinay
 
Desarrollo (qué aplicar) - Normas y Estándares en la Programación Informática
Desarrollo (qué aplicar) - Normas y Estándares en la Programación InformáticaDesarrollo (qué aplicar) - Normas y Estándares en la Programación Informática
Desarrollo (qué aplicar) - Normas y Estándares en la Programación Informática
Byron Quisquinay
 

Más de Byron Quisquinay (10)

Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Manual del curso de sql fundamentos y práctica
Manual del curso de sql   fundamentos y prácticaManual del curso de sql   fundamentos y práctica
Manual del curso de sql fundamentos y práctica
 
101 queries sql aplicado - respuestas
101 queries  sql aplicado - respuestas101 queries  sql aplicado - respuestas
101 queries sql aplicado - respuestas
 
Comprendiendo UML para el área de desarrollo
Comprendiendo UML para el área de desarrollo Comprendiendo UML para el área de desarrollo
Comprendiendo UML para el área de desarrollo
 
Comprendiendo RUP
Comprendiendo   RUPComprendiendo   RUP
Comprendiendo RUP
 
Casos de uso qué - cómo... por byron quisquinay
Casos de uso   qué - cómo... por byron quisquinayCasos de uso   qué - cómo... por byron quisquinay
Casos de uso qué - cómo... por byron quisquinay
 
Desarrollo (qué aplicar) - Normas y Estándares en la Programación Informática
Desarrollo (qué aplicar) - Normas y Estándares en la Programación InformáticaDesarrollo (qué aplicar) - Normas y Estándares en la Programación Informática
Desarrollo (qué aplicar) - Normas y Estándares en la Programación Informática
 

Último

Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
eliecerespinosa
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
QuispeJimenezDyuy
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
cintiat3400
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
JAVIER SOLIS NOYOLA
 
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
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Demetrio Ccesa Rayme
 
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
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
DivinoNioJess885
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
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
 
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
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 
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
 
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
 

Último (20)

Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdfT3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
T3-Instrumento de evaluacion_Planificación Analìtica_Actividad con IA.pdf
 
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docxSESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
SESION ORDENAMOS NÚMEROS EN FORMA ASCENDENTE Y DESCENDENTE 20 DE MAYO.docx
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
 
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
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
 
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
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
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
 
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
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
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
 
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
 

Curso de pl sql básico

  • 2. Introducción a este curso  El presente es un curso dirigido en modalidad de     tutoría, empleando la exposición como método de transmisión del conocimiento. Tiene como objetivo el preparar a su audiencia para el uso de este lenguaje para crear soluciones informáticas. Se pretende tener sesiones de exposición y de problemas en clase para afianzar el conocimiento. Además en cada sesión se dejará una tarea. Al finalizar existirá una evaluación final.
  • 3. ¿Qué es PL/SQL?  PL/SQL es definido como una extensión de SQL. Permite la utilización de sentencias SQL y sentencias en modalidad de control tales como If, sentencias de bucles (ciclos) y muchas más herramientas propias del lenguaje. Es un lenguaje estructurado por bloques y es portable pues una vez enviado a Oracle podrá ser interpretado y ejecutado, es decir, si usted envía a través de una conexión de Base de Datos Oracle no importa la plataforma desde donde la envíe si ésta logra conexiones a la Base de Datos Oracle.
  • 4. Categorías de PL/SQL Existen dos categorías de PL/SQL  PL/SQL anónimo o de bloque anónimo y  Procedimientos almacenados (Stored Procedures).  Los primeros son aquellos que no están almacenados y compilados en la base de datos. Pueden pues residir en archivos para su ejecución con alguna herramienta como SLQ Developer de Oracle o bien estar embebidos en alguna aplicación.  Los segundos si están almacenados en la base de datos con un nombre y pueden ser invocados desde Aplicativos o herramientas tales como SQL Developer de Oracle.
  • 5. Estructura de un PL/SQL Declare <Declaración de variables o constantes> Begin <Cuerpo del PL> [Exepciones] <Manejo de excepciones.> End;
  • 6. Un PL anónimo simple Declare Begin dbms_output.put_line(´Mensaje´); End;
  • 7. Un PL/SQL para insertar datos a una tabla  Para este punto deberá contar con el script: Script_curso_PLSQL_Basico_m1_01.sql, en él están:  Sentencias para crear Secuencias y tablas.  Además del PL/SQL que permitirá realizar el insert a una tabla.
  • 8. --Script de PL/SQL --Curso de PL/SQL Básico --01 declare v_id_cliente number(10); v_nombres varchar2(100); v_apellidos varchar2(100); begin --Se asigna siguiente valor de secuencia a v_id_cliente begin select seq_id_cliente_telco_01.nextval into v_id_cliente from dual; end; --Asignación de valores a variables. v_nombres := 'Juan Plablo'; v_apellidos := 'Pérez Pérez'; --Inserción de datos a tabla de clientes begin insert into tbl_cliente_telco (id_cliente, nombres, apellidos ) values ( v_id_cliente, v_nombres, v_apellidos ); end; commit; end;
  • 9. Modifique el PL anterior para:  Que inserte sus nombres y apellidos.  Declare una variable más que deberá recibir la cantidad de registros que hay en la tabla de Cliente.  Mande un mensaje con la cantidad de registros.
  • 10. Actualizando Datos  Del Script ejecute la sentencia de agregado de campos a la tabla.  Luego copie el Script para actualizado de información.  Ejecútelo.  Compruebe con Select la información de la tabla de Clientes.
  • 11. --Curso: PL/SQL Básico --Script: Script_curso_PLSQL_Basico_m1_01 --Objetivo: Instruir a los participantes del curso en el uso de PL/SQL para la actualización de datos --Autor: Byron Quisquinay --Fecha Elaboración: 12/12/2013 --Versión del script: 01 declare begin begin update tbl_cliente_telco set nit = '2562903-4', dpi = '123456789012' where id_cliente = 1; end; commit; end;
  • 12. Modifique el PL anterior para:  Actualice los datos del otro cliente que usted insertó.  También emplee el script para inserción de datos e inserte un cliente más, con todos los datos incluyendo NIT y DPI.
  • 13. Borrando Datos  De su escript del módulo 1 de este curso, copie el Script para borrado de información.  Ejecútelo.  Comprueba la información en la tabla de Clientes.
  • 14. --Curso: PL/SQL Básico --Script: Script_curso_PLSQL_Basico_m1_01 --Objetivo: Instruir a los participantes del curso en el uso de PL/SQL para el borrado de datos --Autor: Byron Quisquinay --Fecha Elaboración: 12/12/2013 --Versión del script: 01 declare begin begin delete tbl_cliente_telco where id_cliente = 3; end; commit; end;
  • 15. %rowtype:  Que permite definir un tipo de dato basado en un objeto.  De su script del módulo 1 emplee el Script para uso de %rowtype.  Ejecútelo.  Examine el código y determine la salida en la herramienta que emplea para ejecutar SQL o PL/SQL.
  • 16. --Curso: PL/SQL Básico --Script: Script_curso_PLSQL_Basico_m1_01 --Objetivo: Instruir a los participantes del curso en el uso de %rowtype para definir tipos. --Autor: Byron Quisquinay --Fecha Elaboración: 12/12/2013 --Versión del script: 01 declare v_datos_cliente tbl_cliente_telco%rowtype; begin begin select * into v_datos_cliente from tbl_cliente_telco where id_cliente = 1; end; dbms_output.put_line('Cliente no: '||v_datos_cliente.id_cliente||' - Nombres: '||v_datos_cliente.nombres||' - Apellidos: '||v_datos_cliente.apellidos||' - Nit: '||v_datos_cliente.nit||' - Número de DPI: '||v_datos_cliente.dpi); commit; end;
  • 17. TAREA del Módulo 1 PL/SQL anónimo 1  Construya un PL anónimo que:  Tenga variables:   Para la fecha del Sistema. Nombre de usuario de Base de Datos de la sesión.  Que asigne los valores a las variables, usando Select Into.  Que despliegue como salida de ejecución los datos de la variable.
  • 18. TAREA del Módulo 1 PL/SQL anónimo 2  Construya un PL anónimo que: 1. Con la función Sys_context seleccione: SELECT SYS_CONTEXT ('USERENV', 'CURRENT_SCHEMA') Esquema, YS_CONTEXT ('USERENV', 'CURRENT_USER') Usuario, SYS_CONTEXT ('USERENV', 'SESSION_USER') Usuario_sesion, SYS_CONTEXT ('USERENV', 'HOST') Nombre_Maquina, SYS_CONTEXT ('USERENV', 'IP_ADDRESS') IP_Maquina, SYS_CONTEXT ('USERENV', 'DB_DOMAIN') FROM DUAL; 2. Asigne a variables esos valores y desplieguelos en la salida de ejecución de la herramienta que emplea para el acceso a la Base de Datos:
  • 19. TAREA del Módulo 1 PL/SQL anónimo 3  Cree una tabla que lleve el log de lo que irá haciendo el PL/anónimo que: 1. 1. 2. 3. 2. 3. 4. 5. 6. 7. 8. 9. Inserte en su tabla de bitácora de ejecución o Log: La Fecha (con hora y minutos) Una Leyenda que diga: Inicia proceso. El usuario de Base de Datos que lo ejecutó. Seleccione la cantidad de clientes (y lo asigne a una variable) y escriba (inserte) en el log: Cantidad de Clientes: xx. Que en una variable de tipo ‘Tabla de Clientes’ se asignen los valores para todos los campos de la tabla para el cliente 3. Escriba (inserte) en el log los datos con leyendas que permitan interpretar la información. Que inserte en la bitácora la leyenda ‘Eliminando datos’. Que borre la información del cliente 2. Que haga un conteo de registros asignado a una variable. Que escriba en el log la cantidad de registros. Por último que inserte la leyenda ‘Fin del Proceso’.
  • 20. TAREA del Módulo 1 PL/SQL anónimo 4  En un archivo del Script para esta sesión del curso usted tiene sentencias SQL para crear tablas, secuencias, así como para realizar inserts. Recuerde hacer commit pues el script no lo incluye.  Ahora le toca construir un PL/SQL anónimo que busque el precio de un artículo, busque el que está insertado en el detalle de factura y asigne el valor en una variable.  Luego actualice el detalle definiendo el valor apropiado para TOTAL_ARTICULO, basado en la multiplicación de la cantidad del artículo por el precio del mismo.
  • 21. Debe entregar: PL/SQL ANÓNIMO 1 20 Puntos PL/SQL ANÓNIMO 2 20 Puntos PL/SQL ANÓNIMO 3 30 Puntos PL/SQL ANÓNIMO 4 30 Puntos Entrege un archivo con cada PL/SQL anónimo con el nombre: Script_plsql_anónimo_modulo1_<Número de PL[1..4]>_<su nombre completo>.sql