sql Mejora de scriptdeinsercióndeusuarios(por tipo de usuario)para registrodeBitácora

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql Mejora de scriptdeinsercióndeusuarios(por tipo de usuario)para registrodeBitácora相关的知识,希望对你有一定的参考价值。

SET DATEFIRST 7;
SET NOCOUNT ON;
SET DATEFORMAT MDY;
SET LANGUAGE spanish;

--/////////////////// INSERCIÓN DE DATOS EN Cat_BitacoraUsuarios ///////////////////
-- ** iTipoUsuario --> 1=Administradores, 2= Profesores, 3=Alumnos, 4=Familiares

--ADMINISTRADORES
INSERT INTO dbo.Cat_BitacoraUsuarios
        ( idOriginal ,
          iTipoUsuario ,
          sNombre ,
          sObservaciones ,
          dfecha
        )
SELECT idUsuario, 1 AS iTipoUsuario, (sApellidoPaterno + ' ' + sApellidoMaterno + ' ' + sNombre) AS sNombre , ('UsuarioClave|' + ISNULL(sClave, ' ') + '|') AS sObservaciones, GETDATE() AS dFecha
FROM dbo.Cat_Usuarios WHERE bActivo = 1 AND NOT EXISTS (SELECT * FROM dbo.Cat_BitacoraUsuarios WHERE iTipoUsuario = 1 AND idOriginal = dbo.Cat_Usuarios.idUsuario)

--PROFESORES
INSERT INTO dbo.Cat_BitacoraUsuarios
        ( idOriginal ,
          iTipoUsuario ,
          sNombre ,
          sObservaciones ,
          dfecha
        )
SELECT idProfesor, 2 AS iTipoUsuario, (sApellidoP + ' ' + sApellidoM + ' ' + sNombre) AS sNombre , ('Profesor') AS sObservaciones, GETDATE() AS dFecha
FROM dbo.Cat_Profesores 
WHERE bActivo = 1 AND NOT EXISTS (SELECT * FROM dbo.Cat_BitacoraUsuarios WHERE iTipoUsuario = 2 AND idOriginal = dbo.Cat_Profesores.idProfesor)

--ALUMNOS
INSERT INTO dbo.Cat_BitacoraUsuarios
        ( idOriginal ,
          iTipoUsuario ,
          sNombre ,
          sObservaciones ,
          dfecha
        )
SELECT idAlumno, 3 AS iTipoUsuario, (sApellidoPaterno + ' ' + sApellidoMaterno + ' ' + sNombre) AS sNombre , ('Matricula|' + sMatricula + '|') AS sObservaciones, GETDATE() AS dFecha
FROM dbo.Cat_Alumnos
WHERE NOT EXISTS (SELECT * FROM dbo.Cat_BitacoraUsuarios WHERE iTipoUsuario = 3 AND idOriginal = dbo.Cat_Alumnos.idAlumno)

--FAMILIARES
INSERT INTO dbo.Cat_BitacoraUsuarios
        ( idOriginal ,
          iTipoUsuario ,
          sNombre ,
          sObservaciones ,
          dfecha
        )
SELECT idFamiliar, 4 AS iTipoUsuario, (sApellidoP + ' ' + sApellidoM + ' ' + sNombre) AS sNombre , ('Familiar') AS sObservaciones, GETDATE() AS dFecha
FROM dbo.Ctrl_Familiares 
WHERE bActivo = 1 AND sNombre IS NOT NULL AND sNombre NOT LIKE '' AND idNombramiento IS NOT NULL 
	  AND NOT EXISTS (SELECT * FROM dbo.Cat_BitacoraUsuarios WHERE iTipoUsuario = 4 AND idOriginal = dbo.Ctrl_Familiares.idFamiliar)

以上是关于sql Mejora de scriptdeinsercióndeusuarios(por tipo de usuario)para registrodeBitácora的主要内容,如果未能解决你的问题,请参考以下文章

sql SQL脚本para listar todas las tablas de una base de datos

sql Borrado de documentos de la papelera

sql Adecuaciónparacalculo de indicadores de totales de alumnosenpágina校长

sql Tabla Empresa Taller de Base de Datos

sql [SQL] Reduzir Log de Transacoes

sql Creacion de tabla auxiliar,e insercion de un registro