Diferença entre modo de exibição e procedimento armazenado

Ver vs procedimento armazenado
 

Exibições e procedimentos armazenados são dois tipos de objetos de banco de dados. As visualizações são tipos de consultas armazenadas, que coletam dados de uma ou mais tabelas. Aqui está a sintaxe para criar uma visualização

criar ou substituir a visualização 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 possui 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 o procedimento nome do procedimento (parâmetros)

é

início

afirmações;

exceção

manipulação de exceção

fim;

Visão

Uma Visualização atua como uma tabela virtual. Oculta uma declaração de seleção dentro de seu corpo. Essa instrução de seleção pode ser muito complexa, que utiliza dados de várias tabelas e visualizações. Portanto, em outras palavras, uma exibição é uma instrução de seleção nomeada, que é armazenada no banco de dados. Uma visualização pode ser usada para ocultar a lógica por trás das relações da tabela dos usuários finais. Como uma exibição é resultado de uma consulta armazenada, ela não mantém nenhum dado. Ele reúne dados das tabelas e shows base. 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 exibiçã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 seguintes,

Operadores de conjunto (INTERSECT, MINUS, UNION, UNION ALL)

DISTINCT

Agrupar funções agregadas (AVG, COUNT, MAX, MIN, SUM etc.)

Cláusula GROUP BY

Cláusula ORDER BY

Cláusula CONNECT BY

Cláusula START WITH

Expressão de coleção em uma lista de seleção

Subconsulta em Uma lista de seleção

Ingressar na consulta 

Procedimento armazenado

Os procedimentos armazenados são chamados de blocos de programação. Eles devem ter um nome para ligar. Os procedimentos armazenados aceitam parâmetros como entrada e processo do usuário 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 / chamadas de procedimento / pacote podem estar dentro do corpo dos procedimentos. 

Qual é a diferença entre Ver e procedimento armazenado?

Vamos ver as diferenças entre esses dois.

• As visualizações agem como tabelas virtuais. Eles podem ser usados ​​diretamente no fechamento de consultas SQL (selecione), mas os procedimentos não podem ser usados ​​no fechamento de consultas.

• As exibições têm apenas uma instrução select como seu corpo, mas os procedimentos podem ter declarações variáveis, atribuições de variáveis, instruções de controle, loops, consultas SQL e outras funções / procedimentos / chamadas de pacotes como seu corpo..

• O procedimento aceita parâmetros para execução, mas as exibições não desejam que parâmetros sejam executados.

• 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 SQL podem ser usadas na instrução view select, para otimizar o plano de execução, mas as dicas SQL não podem ser usadas nos procedimentos armazenados.

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK e DEBUG podem ser concedidos nas visualizações, mas apenas EXECUTE e DEBUG podem ser concedidos nos procedimentos.