Visualizar vs Procedimento Armazenado
Views e stored procedures são dois tipos de objetos de banco de dados. As visualizações são consultas armazenadas, que coletam dados de uma ou mais tabelas. Aqui está a sintaxe para criar uma view
criar ou substituir viewname
como
select_statement;
Um procedimento armazenado é um conjunto de comandos SQL pré-compilado, que é armazenado no servidor de banco de dados. Cada procedimento armazenado tem um nome de chamada, que é usado para chamá-los dentro de outros pacotes, procedimentos e funções. Esta é a sintaxe (no ORACLE) para criar um procedimento armazenado, criar ou substituir procedimento procedurename (parâmetros)
é
começo
instruções;
exceção
manuseio_exceção
end;
Visualizar
A View atua como uma tabela virtual. Ele oculta uma instrução select dentro de seu corpo. Essa instrução select pode ser muito complexa, que recebe dados de várias tabelas e visualizações. Portanto, em outras palavras, uma visão é uma instrução select nomeada, que é armazenada no banco de dados. Uma visualização pode ser usada para ocultar a lógica por trás das relações de tabela dos usuários finais. Como uma visualização é resultado de uma consulta armazenada, ela não mantém nenhum dado. Ele reúne dados das tabelas base e mostra. As visualizações também desempenham um papel importante na segurança dos dados. Quando o proprietário da tabela precisa mostrar apenas um conjunto de dados para os usuários finais, criar uma visualização é uma boa solução. As visualizações podem ser divididas em duas categorias
- Visualizações atualizáveis (Visualizações que podem ser usadas para INSERT, UPDATE e DELETE)
- Visualizações não atualizáveis (Visualizações que não podem ser usadas para INSERT, UPDATE e DELETE)
As visualizações atualizáveis não podem incluir seguidores, Operadores de conjunto (INTERSECT, MINUS, UNION, UNION ALL)
DISTINCT
Funções Agregadas de Grupo (AVG, COUNT, MAX, MIN, SUM, etc.)
GROUP BY Cláusula
ORDER BY Cláusula
CONNECT BY Cláusula
START WITH Clause
Expressão de coleção em uma lista de seleção
Sub consulta em uma lista de seleção
Join Query
Procedimento Armazenado
Os procedimentos armazenados são denominados blocos de programação. Eles devem ter um nome para chamar. Os procedimentos armazenados aceitam parâmetros como entrada do usuário e processam de acordo com a lógica por trás do procedimento e fornecem o resultado (ou executam uma ação específica). Declarações de variáveis, atribuições de variáveis, instruções de controle, loops, consultas SQL e outras funções/procedimentos/chamadas de pacotes podem estar dentro do corpo dos procedimentos.
Qual é a diferença entre View e Stored Procedure?
Vamos ver as diferenças entre esses dois.
• As visualizações funcionam como tabelas virtuais. Eles podem ser usados diretamente no fechamento das consultas SQL (selecionar), mas os procedimentos não podem ser usados no fechamento das consultas.
• As visualizações têm apenas uma instrução select como seu corpo, mas os procedimentos podem ter declarações de variáveis, atribuições de variáveis, instruções de controle, loops, consultas SQL e outras chamadas de funções/procedimentos/pacotes como seu corpo.
• O procedimento aceita parâmetros para execução, mas as visualizações não querem que os parâmetros sejam executados.
• Os tipos de registro podem ser criados a partir de visualizações usando % ROWTYPE, mas usando procedimentos, os tipos de registro não podem ser criados.
• As dicas de SQL podem ser usadas dentro da instrução view select, para otimizar o plano de execução, mas as dicas de SQL não podem ser usadas em procedimentos armazenados.
• DELETE, INSERT, UPDATE, SELECT, FLASHBACK e DEBUG podem ser concedidos em visualizações, mas apenas EXECUTE e DEBUG podem ser concedidos em procedimentos.