Forskjellen mellom visning og lagret prosedyre

Innholdsfortegnelse:

Forskjellen mellom visning og lagret prosedyre
Forskjellen mellom visning og lagret prosedyre

Video: Forskjellen mellom visning og lagret prosedyre

Video: Forskjellen mellom visning og lagret prosedyre
Video: Smerter mellom skulderbladene - Hvor kommer de fra? 2024, Desember
Anonim

Vis kontra lagret prosedyre

Visninger og lagrede prosedyrer er to typer databaseobjekter. Visninger er en slags lagrede spørringer som samler data fra én eller flere tabeller. Her er syntaksen for å lage en visning

opprett eller erstatt visningsvisningsnavn

as

select_statement;

En lagret prosedyre er et forhåndskompilert SQL-kommandosett, som er lagret i databaseserveren. Hver lagret prosedyre har et kallende navn, som brukes til å kalle dem i andre pakker, prosedyrer og funksjoner. Dette er syntaksen (i ORACLE) for å lage en lagret prosedyre, opprett eller erstatt prosedyrenavn (parametere)

er

begynn

statements;

unntak

exception_handling

end;

Vis

A View fungerer som et virtuelt bord. Den skjuler et utvalgt utsagn inne i kroppen. Denne select-setningen kan være svært kompleks, som tar data fra flere tabeller og visninger. Derfor, med andre ord, er en visning en navngitt select-setning, som er lagret i databasen. En visning kan brukes til å skjule logikken bak tabellrelasjonene for sluttbrukere. Siden en visning er et resultat av en lagret spørring, beholder den ingen data. Den samler inn data fra basistabellene og viser. Visninger spiller også en viktig rolle i datasikkerhet. Når tabelleieren bare trenger å vise et sett med data til sluttbrukere, er det en god løsning å lage en visning. Visninger kan deles inn i to kategorier

  • Oppdaterbare visninger (visninger som kan brukes til INSERT, UPDATE og DELETE)
  • Ikke-oppdaterbare visninger (visninger som ikke kan brukes til INSERT, UPDATE og DELETE)

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

DISTINCT

Aggregerte gruppefunksjoner (AVG, COUNT, MAX, MIN, SUM osv.)

GROUP BY-klausul

ORDER BY-klausul

CONNECT BY-klausul

START MED Klausul

Samlingsuttrykk i en utvalgt liste

Undersøk i en utvalgt liste

Bli med i spørring

Lagret prosedyre

Lagrede prosedyrer kalles programmeringsblokker. De må ha et navn å kalle. Lagrede prosedyrer aksepterer parametere som brukerinndata og prosesser i henhold til logikken bak prosedyren og gir resultatet (eller utfører en spesifikk handling). Variabledeklarasjoner, variabeltilordninger, kontrollsetninger, løkker, SQL-spørringer og andre funksjoner/prosedyre/pakkekall kan være inne i prosedyrene.

Hva er forskjellen mellom visning og lagret prosedyre?

La oss se forskjellene mellom disse to.

• Views fungerer som virtuelle tabeller. De kan brukes direkte i fra slutten av SQL-spørringer (velg), men prosedyrer kan ikke brukes i fra slutten av spørringer.

• Visninger har bare en select-setning som body, men prosedyrer kan ha variabeldeklarasjoner, variabeltilordninger, kontrollsetninger, loops, SQL-spørringer og andre funksjoner/prosedyre/pakkekall som body.

• Prosedyre godtar parametere som skal kjøres, men visninger vil ikke at parametere skal kjøres.

• Posttyper kan opprettes fra visninger som bruker % ROWTYPE, men ved hjelp av prosedyrer kan ikke posttyper opprettes.

• SQL-hint kan brukes innvendig visning select-setning for å optimalisere utførelsesplanen, men SQL-hint kan ikke brukes i lagrede prosedyrer.

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK og DEBUG kan gis på visninger, men bare EXECUTE og DEBUG kan gis på prosedyrer.

Anbefalt: