CREATE PROCEDURE sp_getAllCategories
AS
BEGIN
SELECT id,descripcion,estado
FROM CATEGORIAS
BEGIN
SELECT id,descripcion,estado
FROM CATEGORIAS
ORDER BY id DESC
END
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 + '%'
@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'
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