Diferència entre la visualització i el procediment emmagatzemat

Taula de continguts:

Diferència entre la visualització i el procediment emmagatzemat
Diferència entre la visualització i el procediment emmagatzemat

Vídeo: Diferència entre la visualització i el procediment emmagatzemat

Vídeo: Diferència entre la visualització i el procediment emmagatzemat
Vídeo: Diagrama de esfuerzo deformacion 2024, De novembre
Anonim

Visualització vs. procediment emmagatzemat

Les vistes i els procediments emmagatzemats són dos tipus d'objectes de base de dades. Les vistes són una mena de consultes emmagatzemades, que recullen dades d'una o més taules. Aquí teniu la sintaxi per crear una vista

crear o substituir el nom de visualització de la vista

com a

select_statement;

Un procediment emmagatzemat és un conjunt d'ordres SQL precompilades, que s'emmagatzema al servidor de la base de dades. Cada procediment emmagatzemat té un nom de trucada, que s'utilitza per cridar-los dins d' altres paquets, procediments i funcions. Aquesta és la sintaxi (a ORACLE) per crear un procediment emmagatzemat, crear o substituir el procediment nom del procediment (paràmetres)

és

begin

declaracions;

excepció

exception_handling

final;

Vista

A View actua com una taula virtual. Amaga una declaració seleccionada dins del seu cos. Aquesta declaració de selecció pot ser molt complexa, que pren dades de diverses taules i vistes. Per tant, en altres paraules, una vista és una instrucció select anomenada, que s'emmagatzema a la base de dades. Es pot utilitzar una vista per ocultar la lògica que hi ha darrere de les relacions de la taula als usuaris finals. Com que una vista és el resultat d'una consulta emmagatzemada, no conserva cap dada. Recull dades de les taules base i mostra. Les vistes també tenen un paper important en la seguretat de les dades. Quan el propietari de la taula només ha de mostrar un conjunt de dades als usuaris finals, crear una vista és una bona solució. Les visualitzacions es poden dividir en dues categories

  • Vistes actualitzables (visualitzacions que es poden utilitzar per INSERIR, ACTUALITZAR i SUprimir)
  • Vistes no actualitzables (Vistes que no es poden utilitzar per a INSERIR, ACTUALITZAR i ELIMINAR)

Les visualitzacions actualitzables no poden incloure els seguidors, Estableix operadors (INTERSECT, MENYS, UNION, UNION ALL)

DISTINCT

Funcions d'agregació del grup (AVG, COUNT, MAX, MIN, SUM, etc.)

GRUPA PER Clàusula

ORDER BY Clàusula

CONNECT BY Clàusula

COMENÇA AMB la clàusula

Expressió de la col·lecció en una llista de selecció

Subconsulta a la llista de selecció A

Uneix-te a la consulta

Procediment emmagatzemat

Els procediments emmagatzemats s'anomenen blocs de programació. Han de tenir un nom per trucar. Els procediments emmagatzemats accepten paràmetres com a entrada de l'usuari i processen segons la lògica que hi ha darrere del procediment i donen el resultat (o realitzen una acció específica). Les declaracions de variables, les assignacions de variables, les declaracions de control, els bucles, les consultes SQL i altres trucades de funcions/procediments/paquets poden estar dins del cos de procediments.

Quina diferència hi ha entre Visualització i procediment emmagatzemat?

Vegem les diferències entre aquests dos.

• Les vistes actuen com a taules virtuals. Es poden utilitzar directament des del tancament de consultes SQL (seleccionar), però els procediments no es poden utilitzar des del tancament de consultes.

• Les vistes només tenen una instrucció de selecció com a cos, però els procediments poden tenir com a cos declaracions de variables, assignacions de variables, sentències de control, bucles, consultes SQL i altres trucades a funcions/procediments/paquets.

• El procediment accepta paràmetres per executar-se, però les vistes no volen que s'executin.

• Es poden crear tipus de registre a partir de visualitzacions utilitzant % ROWTYPE, però amb procediments, no es poden crear tipus de registre.

• Les pistes SQL es poden utilitzar dins de la instrucció de selecció de vista, per optimitzar el pla d'execució, però les pistes SQL no es poden utilitzar als procediments emmagatzemats.

• ELIMINAR, INSERT, ACTUALITZAR, SELECCIONAR, FLASHBACK i DEBUG es poden concedir a les visualitzacions, però només es poden concedir EXECUTE i DEBUG als procediments.

Recomanat: