Diferença entre exibição e procedimento armazenado

Anonim

Exibir vs Procedimento armazenado

criar ou substituir view 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 (em ORACLE) para criar um procedimento armazenado, criar ou substituir procedimento procedurename (parâmetros)

é

begin

declarações;

exceção

exception_handling

fim;

View

A View atua como uma tabela virtual. Ele esconde uma declaração seletiva dentro de seu corpo. Esta declaração seletiva pode ser muito complexa, que leva dados de várias tabelas e visualizações. Portanto, em outras palavras, uma exibição é uma declaração selecionada, que é armazenada no banco de dados. Uma visão pode ser usada para esconder a lógica por trás das relações da tabela dos usuários finais. Uma vez que uma vista é um resultado de uma consulta armazenada, ela não mantém nenhum dado. Ele reúne dados das tabelas de base e shows. As visualizações também desempenham um papel importante na segurança de dados. Quando o proprietário da tabela precisa mostrar apenas um conjunto de dados para usuários finais, criar uma visão é uma boa solução. As visualizações podem ser divididas em duas categorias

  • Exibições atualizáveis ​​(vistas que podem ser usadas para INSERT, UPDATE e DELETE)
  • Exibições não atualizáveis ​​(Vistas que não podem ser usadas para INSERT, UPDATE e DELETE)

As visualizações atualizáveis ​​não podem ser exibidas Inclua seguidores, Set Operators (INTERSECT, MINUS, UNION, UNION ALL)

DISTINCT

Funções agregadas do grupo (AVG, COUNT, MAX, MIN, SUM, etc.)

GROUP BY Cláusula ORDER BY Cláusula

CONECTAR POR Cláusula

INICIAR COM a Cláusula

Expressão da coleção em uma lista Selecionar

Sub consulta em A Selecionar lista

Consulta de associação

Procedimento armazenado

Procedimentos armazenados são blocos de programação nomeados. 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 dão 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

Exibir e Procedimento armazenado ? Deixe-nos ver as diferenças entre estes dois.

• As vistas atuam como tabelas virtuais. Eles podem ser usados ​​diretamente no fechamento de consultas SQL (selecionar), mas os procedimentos não podem ser usados ​​no final das consultas.

• As visualizações têm apenas uma declaração de seleção 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 funções / procedimento / chamadas de pacote como seu corpo.

• Procedimento aceita parâmetros para executar, 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.

• Dicas de SQL podem ser usadas dentro da declaração de seleção de exibição, para otimizar o plano de execução, mas dicas de SQL não podem ser usadas em procedimentos armazenados.

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