Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/12/2002, 01:45
Avatar de Avelar
Avelar
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 22 años, 3 meses
Puntos: 1
Dentro del procedimiento que crearás, agrega este código:

Código:
/*** SI LA TABLA INFORME SE POBLARÁ SÓLO CON LOS REGISTROS DEL PERIODO QUE ACABA DE PASAR, ELIMINAR PRIMERO SUS REGISTROS    ***/
 *** OOOJJJOOO: SI SE DESEA CONSERVAR TODOS LOS REGISTROS HISTÓRICOS DE PERÍODOS ANTERIORES EN LA TABLA INFORME, NO AGREGUES ***
 *** ESTA LÍNEA A TU PROCEDIMIENTO ALMACENADO                                                                                ***/
DELETE FROM informe

/*** COPIAR LOS REGISTROS A LA TABLA INFORME PROCURANDO NO DUPLICARLOS (O NO CREAR ERROR EN CASO DE QUE HAYA CAMPOS LLAVE) ***/
INSERT INTO Informe
  SELECT 'id_materia' = I.id_materia, 
         'descripcion_materia' = M.descripcion, 
         'id_curso' = I.id_curso, 
         'descripcion_curso' = C.descripcion, 
         'cant_curso' = I.cant_curso, 
         'valor_curso' = V.valor_curso, 
         'mes_año' = I.mes_año 
  FROM Inicio AS I, 
       Valores AS V, 
       Materia AS M, 
       Curso AS C 
  WHERE I.id_materia = M.id_materia 
    AND I.id_curso = V.id_curso 
    AND I.id_curso = V.id_curso 
    AND I.id_materia NOT IN (SELECT id_materia 
                             FROM Inicio 
                             WHERE id_materia = I.id_materia 
                               AND id_curso = I.id_curso 
                               AND mes_año = I.mes_año
                            )
  ORDER BY id_materia ASC, 
           id_curso ASC, 
           mes_año ASC 


/*** ELIMINAR LOS REGISTROS DE LA TABLA INICIO ***/
-- Con esta instrucción te elimina TODOS los registros de la tabla Inicio; puedes agregarle una condición de que 
-- te elimine solamente los registros que existan en la tabla informe. Si le agregas dicha condición y al final 
-- de executar el SP aún existen registros en la tabla Inicio, significa que hubo inconsistencia en los datos de
-- las tablas.
DELETE FROM inicio
__________________
Ariel Avelar