Uma stored procedure (procedimento armazenado) é um conjunto de instruções desenvolvidas em linguagem T-SQL (Transact-Sql) que, quando armazenadas ou salvas, ficam dentro do servidor de forma pré-compilada. Esse procedimento armazenado no banco de dados (Servidor) pode ser chamado a qualquer momento, tanto pelo sistema gerenciador de banco de dados (SGBD) quanto por uma aplicação que utilize o Elipse E3.
O uso de stored procedures é uma importante contribuição relacionada ao uso de um banco de dados, proporcionando um melhor desempenho nas aplicações.
O objetivo deste artigo é demonstrar uma simples utilização de uma stored procedure em conjunto com o E3. O banco de dados utilizado neste exemplo foi o Microsoft SQL Server 2012.
Criando uma stored procedure com passagem de parâmetro de entrada
O primeiro passo será criar uma tabela no banco de dados para posterior utilização da stored procedure:
(
user_cpf int not null primary key,
user_nome varchar(128) not null,
user_email varchar(128) not null
)
GO
No exemplo abaixo, será criada uma stored procedure com passagem de parâmetros, onde será informado o número do CPF como parâmetro de entrada. O procedimento armazenado retornará o seguinte resultado:
CREATE PROCEDURE cadastroCPF_SELECT
— PARÂMETRO DE ENTRADA, NESTE EXEMPLO O NÚMERO DO CPF
@CPF int
AS
— COMANDO T-SQL PARA OBTER RESULTADO
SELECT * FROM tbl_teste
WHERE user_cpf = @CPF
GO
A figura abaixo mostra o comando para executar a stored procedure. O número informado ao lado da instrução (998958889) é o parâmetro de entrada:
Figura 1: Comando Execute
Após a stored procedure ter sido criada e configurada no banco de dados, e necessário executá-la através do E3. Primeiramente, insira um objeto Consulta, e logo em seguida habilite a edição direta do SQL inserindo a seguinte linha:
Figura 2: Execução através do E3
Este comando SQL executa a stored procedure enviando uma variável como parâmetro de entrada (<%entrada%>).
Para enviar um valor de entrada e retornar o valor da consulta realizada pela stored procedure, insira o seguinte script no E3:
Figura 3: Script inserido no E3
Criando uma stored procedure com passagem de parâmetro de entrada e retorno de saída
O primeiro passo será criar uma tabela no banco de dados para posterior utilização da stored procedure:
(
CODIGO varchar(5),
NOME varchar(80),
DEPARTAMENTO int,
SALARIO money
)
GO
No exemplo abaixo, será criada uma stored procedure com passagem de parâmetros de entrada e de retorno; neste caso, será necessário informar uma variável tipo OUTPUT. Esta stored procedure envia um parâmetro de entrada como critério de seleção para recuperar a soma dos salários da tabela COLABORADORES através de um parâmetro de saída.
(@DEPTO int,
@SOMA money OUTPUT) AS
BEGIN
SELECT @SOMA=sum(SALARIO) FROM COLABORADORES
WHERE DEPARTAMENTO = @DEPTO
END
A execução da stored procedure será a seguinte:
DECLARE @SALARIO_TOTAL Money
— Variável para passagem de parâmetro de entrada
DECLARE @DEPARTAMENTO int
SET @DEPARTAMENTO = 5
EXEC Salario_Depto @DEPARTAMENTO, @SALARIO_TOTAL OUTPUT
PRINT @SALARIO_TOTAL
Stored procedure enviando e recebendo parâmetros através do E3:
Figura 4: Execução da SP através da Consulta do E3
Executando a consulta, obtém-se o seguinte resultado:
Figura 5: Resultado da Consulta do E3
Para executar uma stored procedure do Oracle a partir do E3, é necessário utilizar o comando call no código SQL da Consulta, e em seguida o nome da stored procedure com os devidos parâmetros. Para executar o comando, utilize o método Execute da Consulta.
Artigos Relacionados
- Linguagem SQL: Introdução.
- Linguagem SQL: Capítulo 1 – Tipos de Manipulação de Informações no BD.
- Linguagem SQL: Capítulo 2 – Arquivos e Logs do Banco de Dados SQL Server.
- Linguagem SQL: Capítulo 3 – Descarte de Dados e Limite dos Bancos.
- Linguagem SQL: Capítulo 4 – Backup.
- Linguagem SQL: Capítulo 5 – Boas práticas de configuração de um Histórico e uma Consulta.
- Linguagem SQL: Capítulo 6 – Comandos SQL.
- Linguagem SQL: Capítulo 7 – Views.
- Linguagem SQL: Capítulo 8 – Triggers.