Uma "procedure" (procedimento armazenado) é um conjunto de instruções SQL que são armazenadas no banco de dados e podem ser chamadas e executadas repetidamente. Elas são úteis para realizar tarefas complexas que precisam ser executadas com frequência, como consultas elaboradas, operações de atualização de dados ou cálculos específicos. As procedures podem aceitar parâmetros de entrada e retornar valores de saída, o que as torna flexíveis e reutilizáveis em diferentes partes de um sistema de banco de dados. Elas também ajudam a manter a lógica de negócios no banco de dados, o que pode melhorar a segurança e a consistência dos dados. As procedures são criadas usando a linguagem SQL (Structured Query Language) e podem ser chamadas a partir de outras instruções SQL, de aplicativos ou de outras procedures, tornando-as uma parte fundamental da programação de banco de dados.
📌 Consultar procuderes existentes
USE CORPORE; -- Substitua pelo nome do seu banco de dados
SELECT
SCHEMA_NAME(schema_id) AS SchemaName,
name AS ProcedureName,
FORMAT(create_date, 'dd/MM/yyyy') AS CreationDate,
FORMAT(modify_date, 'dd/MM/yyyy') AS LastModifiedDate,
USER_NAME(principal_id) AS CreatedByUser,
USER_NAME(principal_id) AS LastModifiedByUser
FROM sys.procedures
ORDER BY LastModifiedDate ASC
📌 Consultar o script de uma procedure
USE CORPORE; -- Substitua pelo nome do seu banco de dados
GO
DECLARE @NomeDaProcedure NVARCHAR(100) = 'PRTABAGP'; -- Substitua pelo nome da sua procedure
DECLARE @Sql NVARCHAR(MAX);
SELECT @Sql = definition
FROM sys.sql_modules
WHERE object_id = OBJECT_ID(@NomeDaProcedure);
PRINT @Sql;
Resultado script procedure para importar um arquivo csv para o banco:
📌 Criando procedures
▶ Remover linhas em branco ou null se determinadas colunas estiverem vazias:
Criar procedure:
CREATE PROCEDURE sp_RemoveLinhasEmBranco
AS
BEGIN
SET NOCOUNT ON;
DELETE FROM ouvidoria.dbo.faleunimed
WHERE (COLUNA1 = '' OR COLUNA1 IS NULL)
AND (COLUNA2 = '' OR COLUNA2 IS NULL)
AND (COLUNA3 = '' OR COLUNA3 IS NULL);
PRINT 'Linhas em branco removidas com sucesso.';
END;
GO
Executar procedure:
EXEC sp_RemoveLinhasEmBranco;
📌 Excluir procedures
DROP PROCEDURE IF EXISTS sp_RemoveLinhasEmBranco;
GO