SlideShare una empresa de Scribd logo
Por: Byron Quisquinay
%type
 Con el atributo %type usted asigna a una variable el

tipo de una columna perteneciente a una tabla
existente en la Base de Datos.
 Es decir que usted no necesita definir los tipos de datos
para variables que recibirán el valor almacenado en un
campo.
 El uso de este atributo es una buena práctica dada la
posibilidad de que en determinado momento el tipo,
ancho y precisión de un campo de tabla puede variar.
Explorando %type
 Usted debe contar con el Script:

Script_curso_PLSQL_Basico_m2_01.sql.
 Entonces encontrará el PL anónimo:
--Pl/SQl anónimo: Uso de %type
 Cópielo a su herramienta, analicemos su construcción
y funcionamiento.
 Ejecútelo
--Pl/SQl anónimo: Uso de %type
--Curso:
PL/SQL Básico
--Script:
Script_curso_PLSQL_Basico_m2_01
--Objetivo:
Instruir a los participantes del curso en el uso de PL/SQL para el empleo de %type, exception e if.
--Autor:
Byron Quisquinay
--Fecha Elaboración: 12/12/2013
--Versión del script: 01
declare
v_articulo_id tbl_precio_articulo.articulo_id%type;
v_factura_id tbl_detalle_factura.factura_id%type;
v_precio_articulo tbl_precio_articulo.precio_articulo%type;
begin
--Buscaremos el artículo (mayor) del detalle de factura
begin
select max(DetFact.articulo_id)
into v_articulo_id
from tbl_detalle_factura DetFact;
exception
when no_data_found then
v_articulo_id := 0;
end;
--Si se encontró una artículo facturado se buscará el detalle.
if (v_articulo_id != 0) then
begin
select PrecArt.precio_articulo
into v_precio_articulo
from tbl_precio_articulo PrecArt
where PrecArt.articulo_id = v_articulo_id;
end;
begin
select DetFact.factura_id
into v_factura_id
from tbl_detalle_factura DetFact
where articulo_id = v_articulo_id;
end;
begin
update tbl_detalle_factura DetFact
set DetFact.total_articulo = nvl(DetFact.cantidad_articulo,0) * nvl(v_precio_articulo,0)
where DetFact.factura_id = v_factura_id;
end;
end if;
commit;
end;
Se puede mejorar…
 Ahora en su archivo de Script para el Módulo 2 busque

el PL anónimo:
--Pl/SQl anónimo: Uso de %type mejorado
 ¿Qué nota en esta otra versión?
declare
v_articulo_id tbl_precio_articulo.articulo_id%type;
v_factura_id
tbl_detalle_factura.factura_id%type;
v_precio_articulo tbl_precio_articulo.precio_articulo%type;
begin
--Buscaremos el artículo (mayor) del detalle de factura
begin
select max(DetFact.articulo_id)
into v_articulo_id
from tbl_detalle_factura DetFact;
exception
when no_data_found then
v_articulo_id := 0;
end;
--Si se encontró una artículo facturado se buscará el detalle.
if (v_articulo_id != 0) then
begin
select nvl(PrecArt.precio_articulo, 0) precio_articulo
into v_precio_articulo
from tbl_precio_articulo PrecArt
where PrecArt.articulo_id = v_articulo_id;
exception
when no_data_found then
v_precio_articulo := 0;
end;
--Si se encontró un precio distinto de cero busque la actura a la que está asociado
if (v_precio_articulo != 0) then
begin
select DetFact.factura_id
into v_factura_id
from tbl_detalle_factura DetFact
where articulo_id = v_articulo_id;
exception
when no_data_found then
v_factura_id := null;
end;
--Si hay factura para actualizar entonces realice la actualización en base al precio del artículo
if (v_factura_id is not null) then
begin
update tbl_detalle_factura DetFact
set DetFact.total_articulo = nvl(DetFact.cantidad_articulo,0) * nvl(v_precio_articulo,0)
where DetFact.factura_id = v_factura_id;
end;
end if; --Si hay factura para actualizar entonces realice la actualización en base al precio del artículo

end if;--Si se encontró un precio distinto de cero busque la factura a la que está asociado

end if; --Si se encontró una artículo facturado se buscará el detalle.
commit;
end;
Practicando un poco
 Construya un PL para:
 Insertar un artículo en tbl_precio_articulo. Recuerde que estas
sentencias ya las posee en el Script del Módulo 1, no se desgaste
escribiéndolas de nueva cuenta. Este artículo tendrá un precio de
100.25.
 También deberá insertar un detalle de factura para este artículo, con
1 unidad facturada, del nuevo artículo que recién usted ha
insertado.
 ¿Funcionaría el PL anónimo: “--Pl/SQl anónimo: Uso de

%type mejorado”, para actualizar “tbl_detalle_factura.
total_articulo”?
 Si cree que es afirmativa la respuesta la pregunta anterior, ejecute
el Script, de caso contrario modifique el PL anónimo para que
pueda actualizar el Total de Artículo para la nueva línea en
“tbl_detalle_factura”.
Constantes
 Al declarar CONSTANT usted define un elemento

que no puede variar su valor.
 Del script del Módulo 2 tome el PL anónimo:
--Pl/SQl anónimo:

 Analice el PL.
 Ejecútelo.

Realizando cálculos empleando constantes
--Pl/SQl anónimo: Realizando cálculos empleando constantes
--Curso:
PL/SQL Básico
--Script:
Script_curso_PLSQL_Basico_m2_01
--Objetivo:
Instruir a los participantes del curso en el uso de PL/SQL para el empleo de
operaciones matemáticas.
--Autor:
Byron Quisquinay
--Fecha Elaboración: 12/12/2013
--Versión del script: 01
declare
c_impuesto
constant number(1) :=5; --Constante del impuesto para el pequeño contribuyente.
v_valor_facturado number(18,2)
:=3000; --Variable que tendrá el valor facturado.
v_impuesto_pagar number(18,2);
--Valor resultante de calcular sobre el valor facturado el
impuesto a pagar.
begin
v_impuesto_pagar := round((v_valor_facturado * c_impuesto)/100,2);
dbms_output.put_line('De un valor facturado de: '||v_valor_facturado||' el impuesto a pagar es:
'||v_impuesto_pagar);
end;
Tareas del Módulo 2
1.
2.
3.

4.

Construya un PL anónimo que calcule para un total de venta
realizado el valor de IVA a pagar, demuestre los valores de Venta e
IVA.
Cree un PL anónimo para que de un valor definido como variable
controle si es positivo o negativo, de ser positivo que retorne el
mensaje: Positivo, de ser negativo que muestre el mensaje: Negativo.
Construya un PL anónimo con una constante que contenga un
divisor, una variable que contenga el número a dividir, si el residuo de
la división es cero (0) entonces que despliegue la leyenda ‘Realizar
commit’, si no es cero, entonces que despliegue la leyenda: ‘Aún no
realizar comit’; Valor de la constante = 1000, primer valor de la
variable = 2000.
Codifique un PL anónimo que tenga una constante que será una
fecha fija esperada = 20/diciembre/2013, una variable que tendrá una
fecha a evaluar, si la fecha esperada es igual a la evaluada, que se
indique un mensaje así: ‘Fechas coinciden’, de lo contrario la leyenda
‘Fechas no coinciden’.
Tabla de Valoración para la tarea
Elemento Entregado

Punteo

PL anónimo 1

25

PL anónimo 2

25

PL anónimo 3

25

PL anónimo 2

25

Más contenido relacionado

La actualidad más candente

Manual de Generación de Nómina (v1.0) en eFactory Software ERP/CRM en la nube
Manual de Generación de Nómina (v1.0) en eFactory Software ERP/CRM en la nubeManual de Generación de Nómina (v1.0) en eFactory Software ERP/CRM en la nube
Manual de Generación de Nómina (v1.0) en eFactory Software ERP/CRM en la nube
Factory Soft - Software ERP para la Nube Latinoamericano
 
Derivadas
DerivadasDerivadas
Practica 9 Laboratorio de Computación para Ingenieros FI
Practica 9 Laboratorio de Computación para Ingenieros FIPractica 9 Laboratorio de Computación para Ingenieros FI
Practica 9 Laboratorio de Computación para Ingenieros FI
Jorge Iván Alba Hernández
 
Computacion punteros
Computacion punterosComputacion punteros
Computacion punterosManuel
 
Practica 11 Laboratorio de Computación para Ingenieros FI
Practica 11 Laboratorio de Computación para Ingenieros FIPractica 11 Laboratorio de Computación para Ingenieros FI
Practica 11 Laboratorio de Computación para Ingenieros FI
Jorge Iván Alba Hernández
 

La actualidad más candente (6)

Manual de Generación de Nómina (v1.0) en eFactory Software ERP/CRM en la nube
Manual de Generación de Nómina (v1.0) en eFactory Software ERP/CRM en la nubeManual de Generación de Nómina (v1.0) en eFactory Software ERP/CRM en la nube
Manual de Generación de Nómina (v1.0) en eFactory Software ERP/CRM en la nube
 
Derivadas
DerivadasDerivadas
Derivadas
 
!Prograc2
!Prograc2!Prograc2
!Prograc2
 
Practica 9 Laboratorio de Computación para Ingenieros FI
Practica 9 Laboratorio de Computación para Ingenieros FIPractica 9 Laboratorio de Computación para Ingenieros FI
Practica 9 Laboratorio de Computación para Ingenieros FI
 
Computacion punteros
Computacion punterosComputacion punteros
Computacion punteros
 
Practica 11 Laboratorio de Computación para Ingenieros FI
Practica 11 Laboratorio de Computación para Ingenieros FIPractica 11 Laboratorio de Computación para Ingenieros FI
Practica 11 Laboratorio de Computación para Ingenieros FI
 

Destacado

Sts 2619 2006
Sts 2619 2006Sts 2619 2006
Sts 2619 2006mdjaneiro
 
Oportunidades 0314
Oportunidades 0314Oportunidades 0314
Oportunidades 0314
Bernardete Moreira
 
Presentación1
Presentación1Presentación1
Presentación1
Santiago Mancero
 
Playcross 20
Playcross 20Playcross 20
Playcross 20
marthasaffo63
 
Mayra alejandra gouriyu epiayu 10º
Mayra alejandra gouriyu epiayu 10ºMayra alejandra gouriyu epiayu 10º
Mayra alejandra gouriyu epiayu 10ºmairitagu
 
DRINK LIGHT
DRINK LIGHTDRINK LIGHT
DRINK LIGHT
Ninoska Rodriguez
 
Slide pedagógico
Slide pedagógicoSlide pedagógico
Slide pedagógico
Joilson Silva
 
8. esqueleto del cuello
8. esqueleto del cuello8. esqueleto del cuello
8. esqueleto del cuellokarenterceros
 
Mantenimiento de pc
Mantenimiento de pcMantenimiento de pc
Mantenimiento de pcyomixita
 

Destacado (20)

Royecto investigacion pedagogica
Royecto investigacion pedagogicaRoyecto investigacion pedagogica
Royecto investigacion pedagogica
 
ÉTica e cidadania
ÉTica e cidadaniaÉTica e cidadania
ÉTica e cidadania
 
Precentacion web 2.0 jo
Precentacion web 2.0  joPrecentacion web 2.0  jo
Precentacion web 2.0 jo
 
Promocionventas
PromocionventasPromocionventas
Promocionventas
 
Sts 2619 2006
Sts 2619 2006Sts 2619 2006
Sts 2619 2006
 
10 harmonicas
10 harmonicas10 harmonicas
10 harmonicas
 
Tarea 4
Tarea 4Tarea 4
Tarea 4
 
Oportunidades 0314
Oportunidades 0314Oportunidades 0314
Oportunidades 0314
 
Recursos utilizados
Recursos utilizadosRecursos utilizados
Recursos utilizados
 
Presentación1
Presentación1Presentación1
Presentación1
 
Playcross 20
Playcross 20Playcross 20
Playcross 20
 
Mayra alejandra gouriyu epiayu 10º
Mayra alejandra gouriyu epiayu 10ºMayra alejandra gouriyu epiayu 10º
Mayra alejandra gouriyu epiayu 10º
 
DRINK LIGHT
DRINK LIGHTDRINK LIGHT
DRINK LIGHT
 
Slide pedagógico
Slide pedagógicoSlide pedagógico
Slide pedagógico
 
áLbum de fotografías
áLbum de fotografíasáLbum de fotografías
áLbum de fotografías
 
Vacaciones
VacacionesVacaciones
Vacaciones
 
éTica e cidadania
éTica e cidadaniaéTica e cidadania
éTica e cidadania
 
8. esqueleto del cuello
8. esqueleto del cuello8. esqueleto del cuello
8. esqueleto del cuello
 
Mantenimiento de pc
Mantenimiento de pcMantenimiento de pc
Mantenimiento de pc
 
Notas Definitiva Etica
Notas Definitiva EticaNotas Definitiva Etica
Notas Definitiva Etica
 

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
 
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
 
JAVA métodos/funciones
JAVA métodos/funcionesJAVA métodos/funciones
JAVA métodos/funciones
Universidad Santo Tomás
 
U2-Algoritmos Estructuras Secuenciales.pdf
U2-Algoritmos Estructuras Secuenciales.pdfU2-Algoritmos Estructuras Secuenciales.pdf
U2-Algoritmos Estructuras Secuenciales.pdf
DalilaGomez12
 
Ciclo final de costos
Ciclo final de costos Ciclo final de costos
Ciclo final de costos
SENA
 
Tarea final sie 2012
Tarea final sie 2012Tarea final sie 2012
Tarea final sie 2012
Diego Nauto
 
7090112 Clase Transact Sql Server
7090112 Clase Transact Sql Server7090112 Clase Transact Sql Server
7090112 Clase Transact Sql Server
Corfapo
 
Reportes con crystal reports
Reportes con crystal reportsReportes con crystal reports
Reportes con crystal reports
Kevin Alvarado
 
Guia 3 macros y solver control activex
Guia 3 macros y solver  control activexGuia 3 macros y solver  control activex
Guia 3 macros y solver control activex
María C. Plata
 
[Pauta] [Inf 140] Certamen I
[Pauta] [Inf 140]   Certamen I[Pauta] [Inf 140]   Certamen I
[Pauta] [Inf 140] Certamen IDaniel Barraza
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
MissPotato2
 
Estructuras Secuenciales - Sullin Santaella
Estructuras Secuenciales - Sullin SantaellaEstructuras Secuenciales - Sullin Santaella
Estructuras Secuenciales - Sullin Santaella
José Ricardo Tillero Giménez
 
Santaella u4 estructurassecuenciales
Santaella u4 estructurassecuencialesSantaella u4 estructurassecuenciales
Santaella u4 estructurassecuenciales
Sol Hernández
 
Guía didáctica estructura secuenciales
Guía didáctica estructura secuencialesGuía didáctica estructura secuenciales
Guía didáctica estructura secuenciales
Leany González
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetos
José Antonio Sandoval Acosta
 
Estudio financiero flujos de caja.ppt
Estudio financiero flujos de caja.pptEstudio financiero flujos de caja.ppt
Estudio financiero flujos de caja.ppt
Rafa Merino
 

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
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Ayudantia 4 de junio
Ayudantia 4 de junioAyudantia 4 de junio
Ayudantia 4 de junio
 
JAVA métodos/funciones
JAVA métodos/funcionesJAVA métodos/funciones
JAVA métodos/funciones
 
U2-Algoritmos Estructuras Secuenciales.pdf
U2-Algoritmos Estructuras Secuenciales.pdfU2-Algoritmos Estructuras Secuenciales.pdf
U2-Algoritmos Estructuras Secuenciales.pdf
 
Ciclo final de costos
Ciclo final de costos Ciclo final de costos
Ciclo final de costos
 
Tarea final sie 2012
Tarea final sie 2012Tarea final sie 2012
Tarea final sie 2012
 
7090112 Clase Transact Sql Server
7090112 Clase Transact Sql Server7090112 Clase Transact Sql Server
7090112 Clase Transact Sql Server
 
Reportes con crystal reports
Reportes con crystal reportsReportes con crystal reports
Reportes con crystal reports
 
Práctica nominas
Práctica nominasPráctica nominas
Práctica nominas
 
Guia 3 macros y solver control activex
Guia 3 macros y solver  control activexGuia 3 macros y solver  control activex
Guia 3 macros y solver control activex
 
[Pauta] [Inf 140] Certamen I
[Pauta] [Inf 140]   Certamen I[Pauta] [Inf 140]   Certamen I
[Pauta] [Inf 140] Certamen I
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Estructuras Secuenciales - Sullin Santaella
Estructuras Secuenciales - Sullin SantaellaEstructuras Secuenciales - Sullin Santaella
Estructuras Secuenciales - Sullin Santaella
 
Santaella u4 estructurassecuenciales
Santaella u4 estructurassecuencialesSantaella u4 estructurassecuenciales
Santaella u4 estructurassecuenciales
 
Guía didáctica estructura secuenciales
Guía didáctica estructura secuencialesGuía didáctica estructura secuenciales
Guía didáctica estructura secuenciales
 
Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3Unidad 2: Clases y objetos Ejercicio 3
Unidad 2: Clases y objetos Ejercicio 3
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetos
 
Estudio financiero flujos de caja.ppt
Estudio financiero flujos de caja.pptEstudio financiero flujos de caja.ppt
Estudio financiero flujos de caja.ppt
 
Unidad 3: Herencia Ejercicio 2
Unidad 3: Herencia Ejercicio 2Unidad 3: Herencia Ejercicio 2
Unidad 3: Herencia Ejercicio 2
 

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
 
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
 
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
 
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 (12)

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
 
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
 
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
 
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

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
 
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
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
EdwardYumbato1
 
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
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
LilianaRivera778668
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
Alejandrino Halire Ccahuana
 
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
 
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
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
YasneidyGonzalez
 
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
 
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
 
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
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
DivinoNioJess885
 
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
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 
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
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
GallardoJahse
 
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
 
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
 
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
 

Último (20)

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
 
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
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
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
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
 
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
 
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
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
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
 
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
 
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
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
 
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
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 
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
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
 
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
 
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...
 
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
 

Curso de pl sql básico

  • 2. %type  Con el atributo %type usted asigna a una variable el tipo de una columna perteneciente a una tabla existente en la Base de Datos.  Es decir que usted no necesita definir los tipos de datos para variables que recibirán el valor almacenado en un campo.  El uso de este atributo es una buena práctica dada la posibilidad de que en determinado momento el tipo, ancho y precisión de un campo de tabla puede variar.
  • 3. Explorando %type  Usted debe contar con el Script: Script_curso_PLSQL_Basico_m2_01.sql.  Entonces encontrará el PL anónimo: --Pl/SQl anónimo: Uso de %type  Cópielo a su herramienta, analicemos su construcción y funcionamiento.  Ejecútelo
  • 4. --Pl/SQl anónimo: Uso de %type --Curso: PL/SQL Básico --Script: Script_curso_PLSQL_Basico_m2_01 --Objetivo: Instruir a los participantes del curso en el uso de PL/SQL para el empleo de %type, exception e if. --Autor: Byron Quisquinay --Fecha Elaboración: 12/12/2013 --Versión del script: 01 declare v_articulo_id tbl_precio_articulo.articulo_id%type; v_factura_id tbl_detalle_factura.factura_id%type; v_precio_articulo tbl_precio_articulo.precio_articulo%type; begin --Buscaremos el artículo (mayor) del detalle de factura begin select max(DetFact.articulo_id) into v_articulo_id from tbl_detalle_factura DetFact; exception when no_data_found then v_articulo_id := 0; end; --Si se encontró una artículo facturado se buscará el detalle. if (v_articulo_id != 0) then begin select PrecArt.precio_articulo into v_precio_articulo from tbl_precio_articulo PrecArt where PrecArt.articulo_id = v_articulo_id; end; begin select DetFact.factura_id into v_factura_id from tbl_detalle_factura DetFact where articulo_id = v_articulo_id; end; begin update tbl_detalle_factura DetFact set DetFact.total_articulo = nvl(DetFact.cantidad_articulo,0) * nvl(v_precio_articulo,0) where DetFact.factura_id = v_factura_id; end; end if; commit; end;
  • 5. Se puede mejorar…  Ahora en su archivo de Script para el Módulo 2 busque el PL anónimo: --Pl/SQl anónimo: Uso de %type mejorado  ¿Qué nota en esta otra versión?
  • 6. declare v_articulo_id tbl_precio_articulo.articulo_id%type; v_factura_id tbl_detalle_factura.factura_id%type; v_precio_articulo tbl_precio_articulo.precio_articulo%type; begin --Buscaremos el artículo (mayor) del detalle de factura begin select max(DetFact.articulo_id) into v_articulo_id from tbl_detalle_factura DetFact; exception when no_data_found then v_articulo_id := 0; end; --Si se encontró una artículo facturado se buscará el detalle. if (v_articulo_id != 0) then begin select nvl(PrecArt.precio_articulo, 0) precio_articulo into v_precio_articulo from tbl_precio_articulo PrecArt where PrecArt.articulo_id = v_articulo_id; exception when no_data_found then v_precio_articulo := 0; end; --Si se encontró un precio distinto de cero busque la actura a la que está asociado if (v_precio_articulo != 0) then begin select DetFact.factura_id into v_factura_id from tbl_detalle_factura DetFact where articulo_id = v_articulo_id; exception when no_data_found then v_factura_id := null; end; --Si hay factura para actualizar entonces realice la actualización en base al precio del artículo if (v_factura_id is not null) then begin update tbl_detalle_factura DetFact set DetFact.total_articulo = nvl(DetFact.cantidad_articulo,0) * nvl(v_precio_articulo,0) where DetFact.factura_id = v_factura_id; end; end if; --Si hay factura para actualizar entonces realice la actualización en base al precio del artículo end if;--Si se encontró un precio distinto de cero busque la factura a la que está asociado end if; --Si se encontró una artículo facturado se buscará el detalle. commit; end;
  • 7. Practicando un poco  Construya un PL para:  Insertar un artículo en tbl_precio_articulo. Recuerde que estas sentencias ya las posee en el Script del Módulo 1, no se desgaste escribiéndolas de nueva cuenta. Este artículo tendrá un precio de 100.25.  También deberá insertar un detalle de factura para este artículo, con 1 unidad facturada, del nuevo artículo que recién usted ha insertado.  ¿Funcionaría el PL anónimo: “--Pl/SQl anónimo: Uso de %type mejorado”, para actualizar “tbl_detalle_factura. total_articulo”?  Si cree que es afirmativa la respuesta la pregunta anterior, ejecute el Script, de caso contrario modifique el PL anónimo para que pueda actualizar el Total de Artículo para la nueva línea en “tbl_detalle_factura”.
  • 8. Constantes  Al declarar CONSTANT usted define un elemento que no puede variar su valor.  Del script del Módulo 2 tome el PL anónimo: --Pl/SQl anónimo:  Analice el PL.  Ejecútelo. Realizando cálculos empleando constantes
  • 9. --Pl/SQl anónimo: Realizando cálculos empleando constantes --Curso: PL/SQL Básico --Script: Script_curso_PLSQL_Basico_m2_01 --Objetivo: Instruir a los participantes del curso en el uso de PL/SQL para el empleo de operaciones matemáticas. --Autor: Byron Quisquinay --Fecha Elaboración: 12/12/2013 --Versión del script: 01 declare c_impuesto constant number(1) :=5; --Constante del impuesto para el pequeño contribuyente. v_valor_facturado number(18,2) :=3000; --Variable que tendrá el valor facturado. v_impuesto_pagar number(18,2); --Valor resultante de calcular sobre el valor facturado el impuesto a pagar. begin v_impuesto_pagar := round((v_valor_facturado * c_impuesto)/100,2); dbms_output.put_line('De un valor facturado de: '||v_valor_facturado||' el impuesto a pagar es: '||v_impuesto_pagar); end;
  • 10. Tareas del Módulo 2 1. 2. 3. 4. Construya un PL anónimo que calcule para un total de venta realizado el valor de IVA a pagar, demuestre los valores de Venta e IVA. Cree un PL anónimo para que de un valor definido como variable controle si es positivo o negativo, de ser positivo que retorne el mensaje: Positivo, de ser negativo que muestre el mensaje: Negativo. Construya un PL anónimo con una constante que contenga un divisor, una variable que contenga el número a dividir, si el residuo de la división es cero (0) entonces que despliegue la leyenda ‘Realizar commit’, si no es cero, entonces que despliegue la leyenda: ‘Aún no realizar comit’; Valor de la constante = 1000, primer valor de la variable = 2000. Codifique un PL anónimo que tenga una constante que será una fecha fija esperada = 20/diciembre/2013, una variable que tendrá una fecha a evaluar, si la fecha esperada es igual a la evaluada, que se indique un mensaje así: ‘Fechas coinciden’, de lo contrario la leyenda ‘Fechas no coinciden’.
  • 11. Tabla de Valoración para la tarea Elemento Entregado Punteo PL anónimo 1 25 PL anónimo 2 25 PL anónimo 3 25 PL anónimo 2 25