| Inicio | Tu Cuenta | Manuales | Foros | Tutoriales | Los TOP | Empleos| Artículos | Comentarios |   

Manual Oracle
 1: Monitoreo de Bloqueos 
 2: Manejo de Clusters en Oracle 
 3: Analiszando las Consultas tipo Hash 
 4: Introducción a ORACLE Developer - Castellano 
 5: Creación de un Formulario en Developer Forms - Castellano 
 6: Administracion de Base de Datos Oracle 
 7: Tutorial de Oracle9i Reports 
 8: Manual de Developer Forms 
 9: Manual de Oracle9i Reports 
 10: External tables en Oracle 9i 


Mas de Oracle


Noticias Oracle


Error Ora-


Script Oracle Español
· Scripts para DBA
· SQL ANSI en Oracle 10g
· Pivoting INsert en Oracle 10g
· Sentencias de inserción en varias tablas - Oracle 10g
· Sentencia Insert condicionada - Oracle 10 g

[ Más en la Sección de Noticias ]



Sentencia Insert condicionada - Oracle 10 g
Enviado el Jueves, 10 agosto a las 18:13:28 por csr

Todo sobre Oracle 10G SENTENCIA INSERT ALL (INSERCION EN VARIAS TABLAS CON UN SOLO SELECT)

 

Sentencia Insert condicionada

A diferencia de la anterior sentencia insert, ésta permite la adición de condiciones para llevar a cabo la inserción

Supongamos que la tabla ALUMNO tiene los siguientes datos:

id nombre materias_cursadas materias_aprobadas materias_validadas promedio_notas
1 juan
6
5
2
3,5
2 luis
7
7
0
4,1
3 sandra
5
5
1
4,2
4 felipe
8
7
1
3,9
5 freddy
7
6
1
3,6
6 milton
6
6
2
4,3

Usando igualmente, las tablas del anterior ejemplo HIST_MATERIAS e HIST_PROMEDIOS, se desea guardar el histórico de los alumnos que cursaron más de 5 materias y el histórico de quienes obtuvieron un promedio académico superior a 4.0

Entonces, de acuerdo con el condicionamiento establecido anteriormente, la sentencia insert sería:

INSERT ALL
WHEN materias_cursadas >5 THEN
INTO hist_materias VALUES ( id, 2005, MATERIAS_CURSADAS,MATERIAS_APROBADAS,MATERIAS_VALIDADAS)
WHEN promedio_notas > 4 THEN
INTO hist_promedios VALUES (id, 2005, promedio_notas)
SELECT * FROM alumno;

8 rows created

Veamos ahora cómo quedaron las tablas HIST_MATERIAS e HIST_PROMEDIOS

HIST_MATERIAS

idAlumno
anio
cursadas
aprobadas
validadas
1 2005 6 5 2
2 2005 7 7 0
4 2005 8 7 1
5 2005 7 6 1
6 2005 6 6 2

Se puede ver que en la anterior tabla se insertaron los registro correspondientes a materias_cursadas mayores a 5. En este caso 5 registros cumplieron la condición.

HIST_PROMEDIOS

idalumno
anio
promedio_notas
2 2005 4,1
3 2005 4,2
6 2005 4,3

Y en esta tabla se insertaron igualmente los promedios superiores a 4.0. Aquí solamente 3 registros cumplieron la condición de inserción, por lo que finalmente, la consulta INSERT ALL agregó 5 + 3 = 8 registros

 

Tomado de www.zonaoracle.com (solo con fines educativos)

 
Enlaces Relacionados
· Más Acerca de Todo sobre Oracle 10G
· Noticias de csr


Noticia más leída sobre Todo sobre Oracle 10G:
Ejemplo de Código JSP (Java Stored Procedures)



Votos del Artículo
Puntuación Promedio: 3.09
votos: 11


Por favor tómate un segundo y vota por este artículo:

Malo
Regular
Bueno
Muy Bueno
Excelente




Opciones

Versión Imprimible  Versión Imprimible

Enviar a un Amigo  Enviar a un Amigo


Manual Oracle
Oracle Manual y tutorial, Pl/Sql, Discoverer, Forms, Sql y Plsql - Orape



Adaptado para nuke 6.0 por DragónNB