sql ActualizacióndeInsercióndeDatos en Ctrl_BitacoraCambios - Seadicionóinformaci
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql ActualizacióndeInsercióndeDatos en Ctrl_BitacoraCambios - Seadicionóinformaci相关的知识,希望对你有一定的参考价值。
/* --------------------------------------------------------------------------------------------------------------
FECHA | AUTOR |DESCRIPCION
09/Mar/2017 | Luis Bernal |
--------------------------------------------------------------------------------------------------------------*/
----------------------------INICIO PROCEDIMIENTO ------------------------
IF OBJECT_ID('spInsertarBitacoraCambios', 'P') IS NOT NULL
DROP PROC spInsertarBitacoraCambios
GO
CREATE PROCEDURE [dbo].[spInsertarBitacoraCambios]
@idUsuario BIGINT,
@dFecha DATETIME,
@idPlanEstudios INT,
@iFolioInscrip INT,
@idAsignatura INT,
@idGrupo INT,
@iAccion TINYINT,
@sDetalleAccion VARCHAR(100)
AS
BEGIN
SET NOCOUNT ON;
SET LANGUAGE spanish;
SET DATEFORMAT MDY;
SET DATEFIRST 7;
-- **** DECLARACIÓN DE VARIABLES ****
DECLARE @idSeccion SMALLINT,
@idEditor INT,
@idEditado INT
SET @idSeccion = 1 -- 1 = Inscripciones Academicas
SELECT @idEditor = idUsuarioBita FROM dbo.Cat_BitacoraUsuarios
WHERE idOriginal = @idUsuario AND iTipoUsuario = 1
-- **** INSERCIÓN DE INFORMACIÓN A Cat_BitacoraCambios ****
DECLARE @sAccion VARCHAR(30),
@idAlumno INT,
@sPlanEstudios VARCHAR(110),
@iFolioPeriodo INT,
@sPeriodo VARCHAR(50),
@idOfEduc INT,
@sOfEduc VARCHAR(50),
@sMatricula VARCHAR(30),
@sNombreAlumno VARCHAR(120),
@iGrado INT,
@sNombreGrupo VARCHAR(50),
@sAsignatura VARCHAR(150)
-- +++ Obtención de Datos Generales +++
SET @sAccion = CASE WHEN @iAccion = 1 THEN 'Inscripción' WHEN @iAccion = 2 THEN 'Eliminación Inscripción' ELSE 'Empty' END
SELECT @sPlanEstudios = (sNombre + ' (' + sVersion + ')') FROM dbo.Cat_PlanEstudios WHERE idPlanEstudios = @idPlanEstudios
SELECT @idAlumno = ci.idAlumno, @sMatricula = sMatricula, @sNombreAlumno = (sApellidoPaterno + ' ' + sApellidoMaterno + ' ' + sNombre),
@iFolioPeriodo = ci.iFolioPeriodo, @sPeriodo = cp.sAbPeriodo, @idOfEduc = ci.idOfEduc
FROM dbo.Ctrl_Inscripciones ci
JOIN dbo.Ctrl_Periodos cp ON ci.iFolioPeriodo = cp.iFolio
JOIN dbo.Cat_Alumnos ca ON ca.idAlumno = ci.idAlumno
WHERE ci.iFolio = @iFolioInscrip
SELECT @idEditado = idUsuarioBita FROM dbo.Cat_BitacoraUsuarios WHERE idOriginal = @idAlumno AND iTipoUsuario = 3
SELECT @sOfEduc = sNombre FROM dbo.Cat_OfEduc WHERE idOfEduc = @idOfEduc
-- +++ Obtención e inserción de datos particulares +++
SELECT @idGrupo = CASE WHEN @idGrupo = -1 THEN idGrupo ELSE @idGrupo END
FROM dbo.Ctrl_TrayectoriaAcademica WHERE iFolioInscripcion = @iFolioInscrip AND idAsignatura = @idAsignatura
SELECT @iGrado = iGrado FROM dbo.Ctrl_PlanEstudios WHERE idPlanEstudios = @idPlanEstudios AND idAsignatura = @idAsignatura
SELECT @sNombreGrupo = sNombre FROM dbo.Ctrl_Grupos WHERE idGrupo = @idGrupo
SELECT @sAsignatura = sAsignatura FROM dbo.Cat_Asignaturas WHERE idAsignatura = @idAsignatura
IF @iAccion = 2 OR (NOT EXISTS (SELECT * FROM dbo.Ctrl_TrayectoriaAcademica WHERE iFolioInscripcion = @iFolioInscrip AND idAsignatura = @idAsignatura AND idGrupo = @idGrupo))
BEGIN
IF EXISTS (SELECT * FROM dbo.Ctrl_TrayectoriaAcademica WHERE iFolioInscripcion = @iFolioInscrip AND idAsignatura = @idAsignatura)
BEGIN
SET @sAccion = @sAccion + ' - Cambio de Grupo'
END
INSERT INTO dbo.Ctrl_BitacoraCambios
( idEditor ,
idEditado ,
idSeccion ,
dFecha ,
sdescripcion
)
VALUES ( @idEditor , -- idEditor - bigint
@idEditado , -- idEditado - bigint
@idSeccion , -- idSeccion - smallint
@dFecha , -- dFecha - datetime
(@sAccion + '|' + CONVERT(VARCHAR(20), @idEditado) + '|' + @sMatricula + '|' + @sNombreAlumno + '|' + CONVERT(VARCHAR(20), @iFolioPeriodo) + '|' +
@sPeriodo + '|' + CONVERT(VARCHAR(20), @idOfEduc) + '|' + @sOfEduc + '|' + CONVERT(VARCHAR(20), @idPlanEstudios) + '|' + @sPlanEstudios + '|' +
CONVERT(VARCHAR(20), @iGrado) + '|' + CONVERT(VARCHAR(20), @idGrupo) + '|' + @sNombreGrupo + '|' + CONVERT(VARCHAR(20), @idAsignatura) + '|' +
@sAsignatura + '|' + @sDetalleAccion ) -- sdescripcion - varchar(8000)
)
END
END;
以上是关于sql ActualizacióndeInsercióndeDatos en Ctrl_BitacoraCambios - Seadicionóinformaci的主要内容,如果未能解决你的问题,请参考以下文章
sql Wypinaniewnioskówzról
sql Insercióndesección'CapturaCalificacionesEducaciónConcontinua'enCat_Bitaco
sql CERTIFICADOS ACADEMICOS - Adecuaciónyadicióndecampos tablas
sql CreacióndespListarCursosSesionesAlumnos para captura de inasistenciasenEducaicónConcon
sql CreaciónSPspListarCursosSesionesMes para captura de inasistenciasenEducaciónConcontinu
sql Correcciónparalistar las evaluationaciones enlaconfiguracióndeindicadoresacadémic