Forskjell mellom visning og lagret prosedyre

Anonim

Vis vs Lagret Prosedyre

Opprett eller erstatt visningsnavnet

som

select_statement;

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

er

start

uttalelser;

unntak

exception_handling

end;

Vis

En visning fungerer som et virtuelt bord. Den gjemmer en valgt uttalelse inne i kroppen. Denne valgte setningen kan være en svært kompleks, som tar data fra flere tabeller og visninger. Derfor, med andre ord, en visning er en navngitt valgt setning, som er lagret i databasen. En visning kan brukes til å skjule logikken bak bordrelasjonene fra sluttbrukerne. Siden en visning er et resultat av et lagret søk, beholder det ingen data. Den samler data fra basistabellene og viser. Visninger spiller også en viktig rolle i datasikkerhet. Når bordets eier må vise bare et sett med data til sluttbrukere, er det en god løsning å opprette 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

DISTINCT

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

GRUPPE VED Klausul BESTILL VED Klausul

KONTAKT MED KUNDE

START MED KUNDE

Samleuttrykk i en valgt liste

Underspørsel i A Velg liste

Bli med på forespørsel

Lagret prosedyre

Lagrede prosedyrer er navngitte programmeringsblokker. De må ha et navn å ringe. Lagrede prosedyrer godtar parametere som brukerinngang og prosess i henhold til logikken bak prosedyren og gir resultatet (eller utfører en bestemt handling). Variabeldeklarasjoner, variable oppgaver, kontrollopplysninger, sløyfer, SQL-spørringer og andre funksjoner / prosedyre / pakkeanrop kan være inne i prosedyrene.

Hva er forskjellen mellom

Vis og lagret prosedyre

? La oss se forskjellene mellom disse to. • Visninger fungerer som virtuelle tabeller. De kan brukes direkte inn fra nært av SQL-spørringer (velg), men prosedyrer kan ikke brukes fra nær søk.

• Visninger har bare en valgt setning som deres kropp, men prosedyrer kan ha variabeldeklarasjoner, variable oppgaver, kontrollopplysninger, sløyfer, SQL-spørringer og andre funksjoner / prosedyrer / pakkeanrop som kropp.

• Prosedyre aksepterer parametere som skal utføres, men visninger vil ikke at parametere skal utføres.

• Opptakstyper kan opprettes fra visninger med% ROWTYPE, men ved bruk av prosedyrer kan ikke opptakstyper opprettes.

• SQL-tips kan brukes inne, se velg setning, for å optimalisere utførelsesplanen, men SQL-tips 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.