Modificación de datos por SQL

Gente:

Estamos en una implementación atípica (no es una universidad) y por un desconocimiento del negocio inicialmente, se usaron períodos lectivos de 1 mes (Marzo 2013, Abril 2013 y Mayo 2013) para los cursos a dictar, pero rápidamente se verificó que eso no era conveniente y si bien los cursos son breves (1 semana, 1 mes, etc.) se decidió usar 2 períodos lectivos en el año, 1er. Semestre y 2do. Semestre.

Ahora se desea borrar esos períodos cargados de 1 mes, luego de haber pasado los cursos (comisiones) con sus alumnos inscriptos, de los períodos mensuales al período 1er. Semestre.

Es obvio que esto solo se puede hacer por SQL. En Guaraní 2 solo sería necesario modificar el período lectivo en la tabla sga_comisiones y luego borrar el período lectivo. En Guaraní 3, que es lo que debo modificar? Que tablas están involucradas?

Saludos

Gustavo

Deberías:

  1. Crearlos periodos lectivos que vas a asignar a las comisiones
  2. Cambiar el periodo lectivo en las comisiones (sga_comisiones.periodo_lectivo)
  3. Borrar los periodos lectivos que ya no usas mas (Tablas: sga_periodos_lectivos, sga_periodos). Podes buscar los ids consultando la vista vw_periodos_lectivos.
    Si crearon periodos de inscripcion a esos periodos lectivos tambien deberias borrarlos asi te permite borrar los periodos lectivos (sga_periodos_inscripcion, sga_periodos_inscripcion_fechas, … ). Tal vez esto lo puedas hacer por sistema.

Ale:

Gracias por la respuesta!!

El punto 1 ya está hecho y en realidad la mayor parte de los cursos han sido cargados en ese período lectivo (1er. Semestre).

El punto 2, por lo que veo es igual a lo que yo haría en Guaraní 2.

El punto 3, una vez realizado el punto 2, no se puede hacer por el sistema?

Saludos

Gustavo

Al punto 3, probalo! si el periodo lectivo tiene un período de inscripción, primero borrá el período de inscripción y luego borra el período lectivo.

Ale:

Los periodos lectivos erroneos se cambiaron sin problema en la tabla sga_comisiones, pero cuando intento borrarlos en las tablas “sga_periodos” y “sga_periodos_lectivos” me da el sgte. error:

ERROR: update o delete en «sga_periodos» viola la llave foránea «fk_sga_periodos_inscripcion_sga_periodos» en la tabla «sga_periodos_inscripcion»
DETAIL: La llave (periodo)=(1) todavía es referida desde la tabla «sga_periodos_inscripcion».

Cuando quiero borrar los periodos de inscripcion invalidos de la tabla “sga_periodos_inscripcion” no me permite:

ERROR: update o delete en «sga_periodos_inscripcion» viola la llave foránea «fk_sga_per_insc_modalidad_sga_periodos_inscripcion» en la tabla «sga_per_insc_modalidad»
DETAIL: La llave (periodo_inscripcion)=(2) todavía es referida desde la tabla «sga_per_insc_modalidad».

Saludos.

Marcelo

Ese error te da cuando intentas borrar el periodo de inscripción por el sistema? Porque si lo haces por sql, son varias las tablas a borrar.