sql 程序设计指南信息系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 程序设计指南信息系统相关的知识,希望对你有一定的参考价值。

/* --------------------------------------------------------------------------------------------------------------
FECHA		   |    AUTOR		|DESCRIPCION
13/Mar/2017    | Luis Bernal	|
--------------------------------------------------------------------------------------------------------------*/

----------------------------INICIO PROCEDIMIENTO ------------------------
IF OBJECT_ID('spBitacoraListarCambios', 'P') IS NOT NULL
      DROP PROC spBitacoraListarCambios
GO

CREATE PROCEDURE [dbo].[spBitacoraListarCambios]
    @idSeccion INT,
	@dFechaI DATETIME,
	@dFechaF DATETIME
AS
    BEGIN
        SET NOCOUNT ON;
        SET DATEFIRST 7;
        SET LANGUAGE spanish;
        SET DATEFORMAT DMY;

		DECLARE @msg VARCHAR(500)

		SET @dFechaF = DATEADD(hh, 23, @dFechaF)
		SET @dFechaF = DATEADD(mi, 59, @dFechaF)
		SET @dFechaF = DATEADD(ss, 59, @dFechaF)
		
		IF @dFechaF < @dFechaI
		BEGIN
			SET @msg = 'La fecha final no puede ser menor a la fecha inicial. Verifica el rango de fechas seleccionado e intentalo nuevamente.'
		END
        ELSE
        BEGIN
			IF @idSeccion = 0
			BEGIN
				SET @msg = 'Todas las secciones en el rango de fechas del ' + CONVERT(VARCHAR(50), @dFechaI) + ' al ' + CONVERT(VARCHAR(50), @dFechaF)
				SELECT cbc.dFecha, cbs.sSeccion, idEditor, sNombre, sdescripcion 
				FROM dbo.Ctrl_BitacoraCambios cbc JOIN dbo.Cat_BitacoraUsuarios cbu ON cbu.idUsuarioBita = cbc.idEditor
												  JOIN dbo.Cat_BitacoraSecciones cbs ON cbs.idSeccionBita = cbc.idSeccion
				WHERE cbc.dFecha BETWEEN @dfechaI AND @dFechaF
				ORDER BY cbc.dFecha DESC 
			END
			ELSE
			BEGIN
				SET @msg = 'SECCION ' + CONVERT(CHAR(2), @idSeccion) + ' en el rango de fechas del ' + CONVERT(VARCHAR(20), @dFechaI) + ' al ' + CONVERT(VARCHAR(20), @dFechaF)
				SELECT cbc.dFecha, cbs.sSeccion, idEditor, sNombre, sdescripcion 
				FROM dbo.Ctrl_BitacoraCambios cbc JOIN dbo.Cat_BitacoraUsuarios cbu ON cbu.idUsuarioBita = cbc.idEditor
												  JOIN dbo.Cat_BitacoraSecciones cbs ON cbs.idSeccionBita = cbc.idSeccion
				WHERE cbc.idSeccion = @idSeccion AND cbc.dFecha BETWEEN @dfechaI AND @dFechaF
				ORDER BY cbc.dFecha DESC 
			END
		END

		PRINT @msg
    END;

以上是关于sql 程序设计指南信息系统的主要内容,如果未能解决你的问题,请参考以下文章

Oracle PL SQL专家指南 高级PL/SQL解决方安案的设计与开发

每周一书《Oracle 12 c PL(SQL)程序设计终极指南》

新手指南linux系统常用的命令

配置系统的设计指南?

SQL调优指南笔记14:Managing Extended Statistics

Hive编程指南