Linguagem SQL: Capítulo 9 – Stored Procedures.

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:

CREATE TABLE tbl_teste
       (
       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:

— CRIA A STORED PROCEDURE
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:

CREATE TABLE COLABORADORES
(
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.

CREATE PROCEDURE Salario_Depto
           (@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:

— Variável de saída
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


Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 5 / 5. Count: 1

Leave a Reply

Your email address will not be published.Required fields are marked *