dbo.LN_clasificaciones_

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

6
Name Data Type Length Description
@accion varchar 10
@p_clasificacion int 4
@p_cliente int 4
@p_nombre_clasificacion varchar 100
@p_tipo_clasificacion varchar 1
@p_user_id int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>

/*

EXEC LN_clasificaciones_ 'ITEMS', null, 1827554403, null, null, null

*/


-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LN_clasificaciones_ 
 -- Add the parameters for the stored procedure here

 @accion            varchar(10),
 @p_clasificacion         int,
 @p_cliente           int,
 @p_nombre_clasificacion        varchar(100),
 @p_tipo_clasificacion        varchar(1),
 @p_user_id           int
 
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for procedure here

 IF (@accion = 'INSERT') BEGIN

  INSERT INTO LN_clasificaciones
  (cliente,
  nombre_clasificacion,
  tipo_clasificacion,
  created_by, created)
  VALUES
  (@p_cliente,
  @p_nombre_clasificacion,
  @p_tipo_clasificacion,
  @p_user_id, GETDATE())

 END ELSE

  IF (@accion = 'UPDATE') BEGIN

   UPDATE LN_clasificaciones SET
   nombre_clasificacion = @p_nombre_clasificacion,
   tipo_clasificacion = @p_tipo_clasificacion,
   modified_by = @p_user_id, 
   modified = GETDATE()
   WHERE clasificacion = @p_clasificacion

  END ELSE

   IF (@accion = 'SELECT') BEGIN

    SELECT LN_clasificaciones.clasificacion, LN_clasificaciones.cliente,
    LN_clasificaciones.nombre_clasificacion, LN_clasificaciones.tipo_clasificacion,
    LN_clasificaciones.created_by, LN_clasificaciones.modified_by,
    CONVERT(VARCHAR(19),LN_clasificaciones.created,121) AS created,
    CONVERT(VARCHAR(19),LN_clasificaciones.modified,121) AS modified,
    users.first_name + ' ' + users.last_name as created_by_user,
    users2.first_name + ' ' + users2.last_name as modified_by_user,
    clientes.nombre_cliente

    FROM LN_clasificaciones
    INNER JOIN clientes ON LN_clasificaciones.cliente = clientes.cliente
    INNER JOIN users ON LN_clasificaciones.created_by = users.user_id
    LEFT OUTER JOIN users AS users2 ON LN_clasificaciones.modified_by = users2.user_id

    WHERE LN_clasificaciones.clasificacion = @p_clasificacion

   END ELSE

    IF (@accion = 'DELETE') BEGIN

     DELETE FROM LN_clasificaciones
     WHERE LN_clasificaciones.clasificacion = @p_clasificacion

    END ELSE

     IF (@accion = 'SEARCH') BEGIN

      IF (@p_cliente IS NULL AND @p_tipo_clasificacion IS NULL)

       SELECT LN_clasificaciones.clasificacion, LN_clasificaciones.cliente,
       LN_clasificaciones.nombre_clasificacion, LN_clasificaciones.tipo_clasificacion,
       LN_clasificaciones.created_by, LN_clasificaciones.modified_by,
       CONVERT(VARCHAR(19),LN_clasificaciones.created,121) AS created,
       CONVERT(VARCHAR(19),LN_clasificaciones.modified,121) AS modified,
       users.first_name + ' ' + users.last_name as created_by_user,
       users2.first_name + ' ' + users2.last_name as modified_by_user,
       clientes.nombre_cliente

       FROM LN_clasificaciones
       INNER JOIN clientes ON LN_clasificaciones.cliente = clientes.cliente
       INNER JOIN users ON LN_clasificaciones.created_by = users.user_id
       LEFT OUTER JOIN users AS users2 ON LN_clasificaciones.modified_by = users2.user_id

       ORDER BY clientes.nombre_cliente, LN_clasificaciones.nombre_clasificacion

      ELSE

       IF (@p_cliente IS NOT NULL AND @p_tipo_clasificacion IS NULL)

        SELECT LN_clasificaciones.clasificacion, LN_clasificaciones.cliente,
        LN_clasificaciones.nombre_clasificacion, LN_clasificaciones.tipo_clasificacion,
        LN_clasificaciones.created_by, LN_clasificaciones.modified_by,
        CONVERT(VARCHAR(19),LN_clasificaciones.created,121) AS created,
        CONVERT(VARCHAR(19),LN_clasificaciones.modified,121) AS modified,
        users.first_name + ' ' + users.last_name as created_by_user,
        users2.first_name + ' ' + users2.last_name as modified_by_user,
        clientes.nombre_cliente

        FROM LN_clasificaciones
        INNER JOIN clientes ON LN_clasificaciones.cliente = clientes.cliente
        INNER JOIN users ON LN_clasificaciones.created_by = users.user_id
        LEFT OUTER JOIN users AS users2 ON LN_clasificaciones.modified_by = users2.user_id

        WHERE LN_clasificaciones.cliente = @p_cliente
        ORDER BY clientes.nombre_cliente, LN_clasificaciones.nombre_clasificacion

       ELSE

        IF (@p_cliente IS NULL AND @p_tipo_clasificacion IS NOT NULL)

         SELECT LN_clasificaciones.clasificacion, LN_clasificaciones.cliente,
         LN_clasificaciones.nombre_clasificacion, LN_clasificaciones.tipo_clasificacion,
         LN_clasificaciones.created_by, LN_clasificaciones.modified_by,
         CONVERT(VARCHAR(19),LN_clasificaciones.created,121) AS created,
         CONVERT(VARCHAR(19),LN_clasificaciones.modified,121) AS modified,
         users.first_name + ' ' + users.last_name as created_by_user,
         users2.first_name + ' ' + users2.last_name as modified_by_user,
         clientes.nombre_cliente

         FROM LN_clasificaciones
         INNER JOIN clientes ON LN_clasificaciones.cliente = clientes.cliente
         INNER JOIN users ON LN_clasificaciones.created_by = users.user_id
         LEFT OUTER JOIN users AS users2 ON LN_clasificaciones.modified_by = users2.user_id

         WHERE LN_clasificaciones.tipo_clasificacion = @p_tipo_clasificacion
         ORDER BY clientes.nombre_cliente, LN_clasificaciones.nombre_clasificacion

        ELSE

         SELECT LN_clasificaciones.clasificacion, LN_clasificaciones.cliente,
         LN_clasificaciones.nombre_clasificacion, LN_clasificaciones.tipo_clasificacion,
         LN_clasificaciones.created_by, LN_clasificaciones.modified_by,
         CONVERT(VARCHAR(19),LN_clasificaciones.created,121) AS created,
         CONVERT(VARCHAR(19),LN_clasificaciones.modified,121) AS modified,
         users.first_name + ' ' + users.last_name as created_by_user,
         users2.first_name + ' ' + users2.last_name as modified_by_user,
         clientes.nombre_cliente

         FROM LN_clasificaciones
         INNER JOIN clientes ON LN_clasificaciones.cliente = clientes.cliente
         INNER JOIN users ON LN_clasificaciones.created_by = users.user_id
         LEFT OUTER JOIN users AS users2 ON LN_clasificaciones.modified_by = users2.user_id

         WHERE LN_clasificaciones.cliente = @p_cliente
         AND LN_clasificaciones.tipo_clasificacion = @p_tipo_clasificacion
         ORDER BY clientes.nombre_cliente, LN_clasificaciones.nombre_clasificacion


     END ELSE

      IF (@accion = 'ITEMS') BEGIN

       /* para obtener clasificaciones e items en la misma consulta ordenado
        por clasificación, dado el parámetro CLIENTE obligatorio */


       IF (@p_cliente IS NOT NULL) 

        SELECT LN_clasificaciones.clasificacion, LN_clasificaciones.cliente,
        LN_clasificaciones.nombre_clasificacion, LN_clasificaciones.tipo_clasificacion,
        LN_clasificacion_items.item, LN_clasificacion_items.valor
        FROM LN_clasificaciones INNER JOIN LN_clasificacion_items
        ON LN_clasificaciones.clasificacion = LN_clasificacion_items.clasificacion
        WHERE LN_clasificaciones.cliente = @p_cliente
        ORDER BY LN_clasificaciones.nombre_clasificacion, LN_clasificacion_items.valor


      END

 
END

GO

Used By

No items found