Forskellen mellem visning og lagret procedure

Indholdsfortegnelse:

Forskellen mellem visning og lagret procedure
Forskellen mellem visning og lagret procedure

Video: Forskellen mellem visning og lagret procedure

Video: Forskellen mellem visning og lagret procedure
Video: Transfer mellem uddannelse og arbejde 2024, November
Anonim

Vis vs. lagret procedure

Visninger og lagrede procedurer er to typer databaseobjekter. Visninger er en slags lagrede forespørgsler, som samler data fra en eller flere tabeller. Her er syntaksen til at oprette en visning

opret eller erstat visningsvisningsnavn

as

select_statement;

En lagret procedure er et forudkompileret SQL-kommandosæt, som er lagret i databaseserveren. Hver lagret procedure har et kaldende navn, som bruges til at kalde dem inde i andre pakker, procedurer og funktioner. Dette er syntaksen (i ORACLE) til at oprette en lagret procedure, opret eller erstat procedurenavn (parametre)

er

begynd

udsagn;

undtagelse

exception_handling

end;

Vis

A View fungerer som et virtuelt bord. Den gemmer et udvalgt udsagn inde i sin krop. Denne select-sætning kan være meget kompleks, som tager data fra flere tabeller og visninger. Derfor er en visning med andre ord en navngivet select-sætning, som er gemt i databasen. En visning kan bruges til at skjule logikken bag tabelrelationerne for slutbrugere. Da en visning er et resultat af en gemt forespørgsel, gemmer den ingen data. Den samler data fra basistabellerne og viser. Visninger spiller også en vigtig rolle i datasikkerheden. Når tabelejeren 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, som kan bruges til INSERT, UPDATE og DELETE)
  • Ikke-opdaterbare visninger (visninger, som ikke kan bruges til INSERT, UPDATE og DELETE)

Opdaterbare visninger kan ikke inkludere følger, Indstil operatører (INTERSECT, MINUS, UNION, UNION ALL)

DISTINCT

Aggregerede gruppefunktioner (AVG, COUNT, MAX, MIN, SUM osv.)

GROUP BY-klausul

ORDER BY Clause

CONNECT BY-klausul

START MED Klausul

Samlingsudtryk på en udvalgt liste

Underforespørgsel i en udvalgt liste

Deltag i forespørgsel

lagret procedure

Lagrede procedurer kaldes programmeringsblokke. De skal have et navn at kalde. Lagrede procedurer accepterer parametre som brugerinput og proces i henhold til logikken bag proceduren og giver resultatet (eller udfører en specifik handling). Variabelerklæringer, variabeltildelinger, kontrolsætninger, loops, SQL-forespørgsler og andre funktioner/procedure/pakkekald kan være inde i procedureteksten.

Hvad er forskellen mellem View og Stored Procedure?

Lad os se forskellene mellem disse to.

• Visninger fungerer som virtuelle borde. De kan bruges direkte i fra slutningen af SQL-forespørgsler (vælg), men procedurer kan ikke bruges i fra slutningen af forespørgsler.

• Views har kun en select-sætning som deres krop, men procedurer kan have variabeldeklarationer, variabeltildelinger, kontrolsætninger, loops, SQL-forespørgsler og andre funktioner/procedure/pakkekald som sin krop.

• Proceduren accepterer parametre, der skal udføres, men visninger ønsker ikke, at parametrene udføres.

• Posttyper kan oprettes fra visninger ved hjælp af % ROWTYPE, men ved hjælp af procedurer kan posttyper ikke oprettes.

• SQL-tip kan bruges indefra for at optimere udførelsesplanen, men SQL-tip kan ikke bruges i lagrede procedurer.

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK og DEBUG kan tildeles på visninger, men kun EXECUTE og DEBUG kan tildeles på procedurer.

Anbefalede: