Procedure e Function - Banco de Dados
Procedure e Function - Banco de Dados
Definição: Conjunto de comandos SQL que são compilados e armazenados no servidor. Podem ser
armazenados no banco de dados e acionados por qualquer programa aplicativo que tenha
autorização para execução.
Tipos de Procedures:
- Stored Procedure: definidas pelo usuário
Funcionamento: No entanto, se criarmos uma stored procedure para executar esta consulta, os
usuário necessitará apenas de um comando para executar a consulta anterior.
Comando:
EXEC nomeProcedimento;
Benefícios:
- Facilita o gerenciamento.
- Encapsulam rotinas de uso frequente no próprio servidor, estando disponível para várias
aplicações.
- Parte da lógica do sistema pode ser armazenada no próprio BD, em vez de ser codificada em
várias aplicações.
Nome do parâmetro deve iniciar por @ e deve ser único na lista de argumentos, seguido do seu
tipo: @mes int, @ano int, @nome varchar.
Todos os parâmetros são considerados de entrada, exceto se houver OUTPUT após sua definição.
Como se executa?
Exemplo de procedure:
@setor char(3)
AS
SELECT SUM(salario)
FROM funcionario
WHERE setor = @setor
@dolar decimal(4,2),
@reais decimal(7,2),
@final decimal(7,2) output
AS
@res output
Como usar:
Observações:
Exemplo:
GO
Estruturas de Repetição
Definição: Estrutura de repetição que executa um bloco de comandos enquanto uma determinada
condição for avaliada como verdadeira.
Como se executa?
WHILE <condicao>
comandos sql
[BREAK]
[CONTINUE]
Observações:
- A condição deve ser expressa por uma expressão lógica que retorna Verdadeiro ou Falso e
pode conter um SELECT, que deve estar entre parênteses.
Exemplo: Criar uma stored procedure que reajuste o preço dos produtos de acordo com as seguintes
regras:
- Os produtos só sofrerão reajuste desde que a média de preço seja inferior ao valor de uma
média passado como parâmetro
- Os produtos sofrerão reajustes repetidas vezes até que o maior preço não ultrapasse o limite
estabelecido por parâmetro
Resultado:
AS
BEGIN
UPDATE produto
BREAK
ELSE
Print ('continua')
END
Functions
Definição: A função pode receber e tratar diversos parâmetros da mesma maneira que o
procedimento. A diferença entre um procedimento e uma função reside no fato de que a função
sempre retorna um valor.
Como se executa?
BEGIN
SET @Fator = 1
SET @I = 1
IF (@Num > 1)
BEGIN
END
RETURN (@Fator)
END
Execução:
Possíveis questões que cairão na prova sobre Procedures