martes, 6 de diciembre de 2022

Procedimientos Almacenados SQL SERVER

-- Procedimiento Listar
CREATE PROCEDURE sp_getAllCategories
AS
BEGIN
    SELECT id,descripcion,estado
    FROM CATEGORIAS
    ORDER BY id DESC
END
GO

EXEC sp_getAllCategories;

Uso del Case
CREATE PROCEDURE sp_getAllClients
AS
BEGIN
SELECT id,
name,
lastName,
dni,
CASE gender
WHEN 1 THEN 'Masculino'
WHEN 0 THEN 'Femenino'
END AS gender,
phone,
address,
email,
CASE status
WHEN 1 THEN 'Activo'
WHEN 0 THEN 'Inactivo'
END AS status
FROM CLIENT
ORDER BY id DESC
END


-- Procedimiento Buscar
CREATE PROCEDURE sp_searchCategory
@searchText varchar(50)
AS
BEGIN

    SELECT id,descripcion,estado
    FROM CATEGORIAS
    WHERE nombre LIKE '%' + @searchText + 
'%' OR descripcion LIKE '%' + @searchText + '%'
    ORDER BY nombre ASC
END
GO

-- Procedimiento Buscar por nombre
CREATE PROCEDURE sp_findCategoryByName
@nombre varchar(30)
AS
BEGIN

    SELECT id,descripcion,estado
    FROM CATEGORIAS
    WHERE estado=1 and UPPER(TRIM(descripcion)) LIKE '%' + UPPER(TRIM(@nombre)) +'%'
END
GO

exec uspFiltrarCategoriaPorNombre 'A'

-- Procedimiento Insertar
CREATE PROCEDURE sp_insertCategory
@nombre varchar(50),
@descripcion varchar(150)
AS
BEGIN
INSERT INTO CATEGORIAS(nombre,descripcion)
        VALUES(@nombre,@descripcion)
END
GO

EXEC sp_insertCategory @nombre='Este es otro nombre',
                                             @descripcion='Este es otra descripcion'

-- Procedimiento Actualizar
CREATE PROCEDURE sp_updateCategory
@id INT,
@descripcion varchar(30)
AS
BEGIN
UPDATE CATEGORIAS 
SET descripcion=@descripcion
WHERE id=@id
END
GO

EXEC sp_updateCategory @id=2,
                                               @descripcion='descripcion actualizada';

-- Procedimiento Eliminar
CREATE PROCEDURE sp_deleteCategory
@id int
AS 
BEGIN
     DELETE FROM CATEGORIAS
     WHERE id=@id
END
GO

-- Procedimiento Verificar la existencia de un registro
CREATE PROCEDURE sp_categoryExists
@description varchar(50),
@exists BIT OUTPUT
AS 
BEGIN
     IF EXISTS(SELECT 1 FROM CATEGORIAS WHERE description=@description)
     BEGIN
           SET @exists=1
     END
     ELSE
     BEGIN
           SET @exists=0
     END
END
GO

-- Procedimiento Desactivar
CREATE PROCEDURE sp_disableCategory
@id int
AS 
BEGIN
     UPDATE CATEGORIA SET status=0
     WHERE id=@id
END
GO

-- Procedimiento Activar
CREATE PROCEDURE sp_enableCategory
@id int
AS 
BEGIN
     UPDATE CATEGORIA SET status=1
     WHERE id=@id
END
GO

No hay comentarios:

Publicar un comentario

Instalación y Configuración de un DNS Público en Debian 12

Configuración de un DNS Público en Debian 12 ===================================== Registrar un dominio público en Goddady, Namecheap  ó pun...