SlideShare una empresa de Scribd logo
1 de 7
PL/SQL Sesión 3 Ejemplos de Procedimientos  Ing.  Mauricio Bedoya
Procedimientos Crear un procedimiento para añadir un estudiante nuevo a la tabla estudiantes. Se debe tener la secuencia creada en la base de datos. SQL>CREATE OR REPLACE Procedure Nuevo_est( p_nom estudiantes.nombre%type, p_ape estudiantes.apellido%type, p_esp estudiantes.especialidad%type) As Begin Insert into estudiantes values(secuencia.nextval,p_nom,p_ape,p_esp,0); --Se inserta la nueva fila usando la secuencia para generar el Id y se le asigna --el valor cero a al campo creditos COMMIT; END Nuevo_est; /
Invocación SQL>  BEGIN Nuevo_est('Federico','Marulanda','Musica'); END; / También puede definirse en el bloque PL/SQL parámetros reales para pasar al procedimiento tal y como se observa a continuación:
Invocación SQL>DECLARE --Variables que describen el nuevo estudiante V_nom estudiantes.nombre%type:='Federico'; V_ape estudiantes.apellido%type:='Marulanda'; V_esp estudiantes.especialidad%type:='Musica'; BEGIN Nuevo_est(Vnom,V_ape,V_esp); END; /
FUNCIONES  Crear una función que devuelva el valor TRUE si la clase especificada tiene una ocupación mayor del 90% y FALSE en caso contrario. SQL> CREATE OR REPLACE FUNCTION Lleno( p_dep cursos.departamento%type, p_curso cursos.ncurso%type) Return boolean is V_ne Number; V_cupo Number; V_ret Boolean; V_full constant Number:=90; BEGIN
FUNCIONES  SELECT Nestudiantes,cupoestudiantes INTO V_ne,V_cupo FROM  CURSOS WHERE departamento=p_dep and curso=p_curso; If (v_ne/v_cupo*100) > v_full then v_ret:=TRUE; ELSE v_ret:=FALSE; End if; Return v_ret; End lleno; /
INVOCACION  SQL> DECLARE Cursor c_clases is Select departamento, ncurso From cursos; BEGIN For V_i  in c_clases loop If lleno(V_i.departamento,V_i.ncurso) then Insert into temporal(columnacaracter)  values(V_i.departamento || ' ' || V_i.ncurso || 'Esta casi lleno!') End if; End loop; End; /

Más contenido relacionado

Destacado

Mif urgences 201_prise_en_charge_plaies_urg_consensus_dec2005
Mif urgences 201_prise_en_charge_plaies_urg_consensus_dec2005Mif urgences 201_prise_en_charge_plaies_urg_consensus_dec2005
Mif urgences 201_prise_en_charge_plaies_urg_consensus_dec2005Amara Amel
 
MASTER UPV-EHU. NUEVOS INSTRUMENTOS E IMPACTOS DE LAS POLITICAS PUBLICAS DE V...
MASTER UPV-EHU. NUEVOS INSTRUMENTOS E IMPACTOS DE LAS POLITICAS PUBLICAS DE V...MASTER UPV-EHU. NUEVOS INSTRUMENTOS E IMPACTOS DE LAS POLITICAS PUBLICAS DE V...
MASTER UPV-EHU. NUEVOS INSTRUMENTOS E IMPACTOS DE LAS POLITICAS PUBLICAS DE V...Javier Buron Cuadrado
 
Consultas en access
Consultas en accessConsultas en access
Consultas en accessSara Silva
 
Ma passion les caricatures emanuela atanasiu
Ma passion les caricatures   emanuela atanasiuMa passion les caricatures   emanuela atanasiu
Ma passion les caricatures emanuela atanasiuElenusz
 
En Tiempos De Elecciones
En Tiempos De EleccionesEn Tiempos De Elecciones
En Tiempos De Eleccionesyo
 
Association oasis-2013
Association oasis-2013Association oasis-2013
Association oasis-2013Hop'Toys
 
Alec 624 pp presentation
Alec 624 pp presentation Alec 624 pp presentation
Alec 624 pp presentation pholt10
 
Plataforma Pro Identidad Leonesa Denuncia libro de Everest
Plataforma Pro Identidad Leonesa Denuncia libro de EverestPlataforma Pro Identidad Leonesa Denuncia libro de Everest
Plataforma Pro Identidad Leonesa Denuncia libro de Everestguest535e40
 
Puedes mirar esta presentación donde se resumen las ideas del vídeo
Puedes mirar esta presentación donde se resumen las ideas del vídeoPuedes mirar esta presentación donde se resumen las ideas del vídeo
Puedes mirar esta presentación donde se resumen las ideas del vídeosupermai
 
Centro de Tecnología Educativa de Tacuarembó. Cartilla Alimentación Quintos ...
Centro de Tecnología Educativa de Tacuarembó. Cartilla Alimentación  Quintos ...Centro de Tecnología Educativa de Tacuarembó. Cartilla Alimentación  Quintos ...
Centro de Tecnología Educativa de Tacuarembó. Cartilla Alimentación Quintos ...guestbdd7fa35
 
agrement hebergement des données de santé-ISO 27799-SMSSI-Ebios-PSSI-
agrement hebergement des données de santé-ISO 27799-SMSSI-Ebios-PSSI-agrement hebergement des données de santé-ISO 27799-SMSSI-Ebios-PSSI-
agrement hebergement des données de santé-ISO 27799-SMSSI-Ebios-PSSI-Act IT Conseil
 

Destacado (20)

GALAxie67v2
GALAxie67v2GALAxie67v2
GALAxie67v2
 
Mif urgences 201_prise_en_charge_plaies_urg_consensus_dec2005
Mif urgences 201_prise_en_charge_plaies_urg_consensus_dec2005Mif urgences 201_prise_en_charge_plaies_urg_consensus_dec2005
Mif urgences 201_prise_en_charge_plaies_urg_consensus_dec2005
 
MASTER UPV-EHU. NUEVOS INSTRUMENTOS E IMPACTOS DE LAS POLITICAS PUBLICAS DE V...
MASTER UPV-EHU. NUEVOS INSTRUMENTOS E IMPACTOS DE LAS POLITICAS PUBLICAS DE V...MASTER UPV-EHU. NUEVOS INSTRUMENTOS E IMPACTOS DE LAS POLITICAS PUBLICAS DE V...
MASTER UPV-EHU. NUEVOS INSTRUMENTOS E IMPACTOS DE LAS POLITICAS PUBLICAS DE V...
 
Canopia
CanopiaCanopia
Canopia
 
Practica3
Practica3Practica3
Practica3
 
Consultas en access
Consultas en accessConsultas en access
Consultas en access
 
Ma passion les caricatures emanuela atanasiu
Ma passion les caricatures   emanuela atanasiuMa passion les caricatures   emanuela atanasiu
Ma passion les caricatures emanuela atanasiu
 
En Tiempos De Elecciones
En Tiempos De EleccionesEn Tiempos De Elecciones
En Tiempos De Elecciones
 
Tutorial de slideshare
Tutorial de slideshareTutorial de slideshare
Tutorial de slideshare
 
Rituels
RituelsRituels
Rituels
 
Association oasis-2013
Association oasis-2013Association oasis-2013
Association oasis-2013
 
Vivre en famille
Vivre en familleVivre en famille
Vivre en famille
 
Alec 624 pp presentation
Alec 624 pp presentation Alec 624 pp presentation
Alec 624 pp presentation
 
Coltan7
Coltan7Coltan7
Coltan7
 
Activ Eco
Activ EcoActiv Eco
Activ Eco
 
Plataforma Pro Identidad Leonesa Denuncia libro de Everest
Plataforma Pro Identidad Leonesa Denuncia libro de EverestPlataforma Pro Identidad Leonesa Denuncia libro de Everest
Plataforma Pro Identidad Leonesa Denuncia libro de Everest
 
Puedes mirar esta presentación donde se resumen las ideas del vídeo
Puedes mirar esta presentación donde se resumen las ideas del vídeoPuedes mirar esta presentación donde se resumen las ideas del vídeo
Puedes mirar esta presentación donde se resumen las ideas del vídeo
 
sofware
sofwaresofware
sofware
 
Centro de Tecnología Educativa de Tacuarembó. Cartilla Alimentación Quintos ...
Centro de Tecnología Educativa de Tacuarembó. Cartilla Alimentación  Quintos ...Centro de Tecnología Educativa de Tacuarembó. Cartilla Alimentación  Quintos ...
Centro de Tecnología Educativa de Tacuarembó. Cartilla Alimentación Quintos ...
 
agrement hebergement des données de santé-ISO 27799-SMSSI-Ebios-PSSI-
agrement hebergement des données de santé-ISO 27799-SMSSI-Ebios-PSSI-agrement hebergement des données de santé-ISO 27799-SMSSI-Ebios-PSSI-
agrement hebergement des données de santé-ISO 27799-SMSSI-Ebios-PSSI-
 

Similar a PL/SQL procedimientos y funciones

Similar a PL/SQL procedimientos y funciones (20)

Lp2docclases
Lp2docclasesLp2docclases
Lp2docclases
 
Manual lenguaje sql 2
Manual lenguaje sql 2Manual lenguaje sql 2
Manual lenguaje sql 2
 
Laboratorio 25 de junio
Laboratorio 25 de junioLaboratorio 25 de junio
Laboratorio 25 de junio
 
Tarea final sie 2012
Tarea final sie 2012Tarea final sie 2012
Tarea final sie 2012
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Creacion Bloques Inigo Bustos
Creacion Bloques Inigo BustosCreacion Bloques Inigo Bustos
Creacion Bloques Inigo Bustos
 
ITESO
ITESOITESO
ITESO
 
I3 u4
I3 u4I3 u4
I3 u4
 
Ejercicios resueltos de_pl-sql
Ejercicios resueltos de_pl-sqlEjercicios resueltos de_pl-sql
Ejercicios resueltos de_pl-sql
 
Examen ISC
Examen ISCExamen ISC
Examen ISC
 
Taller de sql
Taller de sqlTaller de sql
Taller de sql
 
Laboratorio Nº5 SIA
Laboratorio Nº5 SIA Laboratorio Nº5 SIA
Laboratorio Nº5 SIA
 
Practica access (1)
Practica access (1)Practica access (1)
Practica access (1)
 
Tallerprogramacion
TallerprogramacionTallerprogramacion
Tallerprogramacion
 
Actividad 4 ayudantía
Actividad 4 ayudantíaActividad 4 ayudantía
Actividad 4 ayudantía
 
Commit&rollback
Commit&rollbackCommit&rollback
Commit&rollback
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Inf 14 (ventadellantas) rines
Inf 14 (ventadellantas)   rinesInf 14 (ventadellantas)   rines
Inf 14 (ventadellantas) rines
 
Creación de base de datos.
Creación de base de datos.Creación de base de datos.
Creación de base de datos.
 
Empresa iteso heriberto razo bocanegra 3 c
Empresa iteso heriberto razo bocanegra 3 cEmpresa iteso heriberto razo bocanegra 3 c
Empresa iteso heriberto razo bocanegra 3 c
 

Más de Mauricio Bedoya (9)

Bi2021.pptx
Bi2021.pptxBi2021.pptx
Bi2021.pptx
 
Dashboard.pptx
Dashboard.pptxDashboard.pptx
Dashboard.pptx
 
Herramientas BigData.pptx
Herramientas BigData.pptxHerramientas BigData.pptx
Herramientas BigData.pptx
 
Objetivos
ObjetivosObjetivos
Objetivos
 
Trigger
TriggerTrigger
Trigger
 
Control
ControlControl
Control
 
Bloques
BloquesBloques
Bloques
 
Bloques
BloquesBloques
Bloques
 
Script
ScriptScript
Script
 

PL/SQL procedimientos y funciones

  • 1. PL/SQL Sesión 3 Ejemplos de Procedimientos Ing. Mauricio Bedoya
  • 2. Procedimientos Crear un procedimiento para añadir un estudiante nuevo a la tabla estudiantes. Se debe tener la secuencia creada en la base de datos. SQL>CREATE OR REPLACE Procedure Nuevo_est( p_nom estudiantes.nombre%type, p_ape estudiantes.apellido%type, p_esp estudiantes.especialidad%type) As Begin Insert into estudiantes values(secuencia.nextval,p_nom,p_ape,p_esp,0); --Se inserta la nueva fila usando la secuencia para generar el Id y se le asigna --el valor cero a al campo creditos COMMIT; END Nuevo_est; /
  • 3. Invocación SQL> BEGIN Nuevo_est('Federico','Marulanda','Musica'); END; / También puede definirse en el bloque PL/SQL parámetros reales para pasar al procedimiento tal y como se observa a continuación:
  • 4. Invocación SQL>DECLARE --Variables que describen el nuevo estudiante V_nom estudiantes.nombre%type:='Federico'; V_ape estudiantes.apellido%type:='Marulanda'; V_esp estudiantes.especialidad%type:='Musica'; BEGIN Nuevo_est(Vnom,V_ape,V_esp); END; /
  • 5. FUNCIONES Crear una función que devuelva el valor TRUE si la clase especificada tiene una ocupación mayor del 90% y FALSE en caso contrario. SQL> CREATE OR REPLACE FUNCTION Lleno( p_dep cursos.departamento%type, p_curso cursos.ncurso%type) Return boolean is V_ne Number; V_cupo Number; V_ret Boolean; V_full constant Number:=90; BEGIN
  • 6. FUNCIONES SELECT Nestudiantes,cupoestudiantes INTO V_ne,V_cupo FROM CURSOS WHERE departamento=p_dep and curso=p_curso; If (v_ne/v_cupo*100) > v_full then v_ret:=TRUE; ELSE v_ret:=FALSE; End if; Return v_ret; End lleno; /
  • 7. INVOCACION SQL> DECLARE Cursor c_clases is Select departamento, ncurso From cursos; BEGIN For V_i in c_clases loop If lleno(V_i.departamento,V_i.ncurso) then Insert into temporal(columnacaracter) values(V_i.departamento || ' ' || V_i.ncurso || 'Esta casi lleno!') End if; End loop; End; /