Forskel mellem visning og lagret procedure

Anonim

Vis vs Lagret procedure

Opret eller erstat visningsvisningskode

som

select_statement;

En lagret procedure er et præ-kompileret SQL-kommandosæt, som er gemt i databaseserveren. Hver lagret procedure har et kald navn, som bruges til at kalde dem inden for andre pakker, procedurer og funktioner. Dette er syntaxen (i ORACLE) for at oprette en lagret procedure, oprette eller erstatte proceduren procedurenavn (parametre)

er

start

udsagn;

undtagelse

exception_handling

ende;

Vis

En visning fungerer som en virtuel tabel. Det skjuler en markeret erklæring inde i sin krop. Denne valgopgørelse kan være en meget kompleks, som tager data fra flere tabeller og visninger. Med andre ord er en visning en navngivet markering, som er gemt i databasen. En visning kan bruges til at skjule logikken bag bordrelationerne fra slutbrugerne. Da en visning er et resultat af en gemt forespørgsel, bevarer den ikke nogen data. Det samler data fra basistabellerne og viser. Visninger spiller også en vigtig rolle i datasikkerhed. Når bordets ejer kun skal vise et sæt data til slutbrugere, er det en god løsning at oprette en visning. Visninger kan opdeles i to kategorier

  • Opdaterbare visninger (Visninger, der kan bruges til INSERT, UPDATE og DELETE)
  • Ikke-opdaterbare visninger (Visninger, der ikke kan bruges til INSERT, UPDATE og DELETE)

Opdaterbare visninger kan ikke

DISTINCT

Gruppeaggregatfunktioner (AVG, COUNT, MAX, MIN, SUM, osv.)

GROUP BY Klausul

Sæt operatører (INTERSECT, MINUS, UNION, UNION ALL) > BESTIL VED Klausul

TILSLUT MED KUNDE

START MED KUNDE

Indsamling Udtryk i en Vælg Liste

Underforespørgsel i A Vælg Liste

Tilslut Forespørgsel

Opbevaret Fremgangsmåde

Opbevarede procedurer er navngivne programmeringsblokke. De skal have et navn at ringe til. Lagrede procedurer accepterer parametre som brugerindgang og proces efter logikken bag proceduren og giver resultatet (eller udfører en specifik handling). Variabeldeklarationer, variable opgaver, kontrolopgørelser, sløjfer, SQL-forespørgsler og andre funktioner / procedure / pakkesamtaler kan være inden for procedurerne.

Hvad er forskellen mellem

Vis og lagret procedure ? Lad os se forskellene mellem disse to.

• Visninger fungerer som virtuelle tabeller. De kan bruges direkte fra tæt på SQL-forespørgsler (vælg), men procedurer kan ikke bruges i tætte forespørgsler.

• Visninger har kun en valgt sætning som deres krop, men procedurer kan have variabeldeklarationer, variable opgaver, kontrolopgørelser, sløjfer, SQL-forespørgsler og andre funktioner / procedure / pakkeopkald som sin krop.

• Procedure accepterer parametre, der skal udføres, men visninger vil ikke have parametre til at udføre.

• Optagelsestyper kan oprettes fra visninger ved hjælp af% ROWTYPE, men ved brug af procedurer kan der ikke oprettes optagelsestyper.

• SQL-tip kan bruges indenfor se vælg sætning, for at optimere eksekveringsplanen, men SQL-tip kan ikke bruges i lagrede procedurer.

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK og DEBUG kan udstedes på visninger, men kun EXECUTE og DEBUG kan indrømmes efter procedurer.