Razlika med pogledom in shranjeno proceduro

Kazalo:

Razlika med pogledom in shranjeno proceduro
Razlika med pogledom in shranjeno proceduro

Video: Razlika med pogledom in shranjeno proceduro

Video: Razlika med pogledom in shranjeno proceduro
Video: Why Medicine Often Has Dangerous Side Effects for Women | Alyson McGregor | TED Talks 2024, November
Anonim

Pogled proti shranjenemu postopku

Pogledi in shranjene procedure so dve vrsti objektov baze podatkov. Pogledi so neke vrste shranjene poizvedbe, ki zbirajo podatke iz ene ali več tabel. Tukaj je sintaksa za ustvarjanje pogleda

ustvari ali zamenjaj ime pogleda

as

select_statement;

Shranjena procedura je vnaprej preveden niz ukazov SQL, ki je shranjen v strežniku baze podatkov. Vsaka shranjena procedura ima klicno ime, ki se uporablja za klic znotraj drugih paketov, procedur in funkcij. To je sintaksa (v ORACLE) za ustvarjanje shranjene procedure, ustvari ali zamenjaj ime procedure procedure (parametri)

je

začetek

izjave;

izjema

obravnava_izjem

konec;

Pogled

Pogled deluje kot navidezna tabela. V svojem telesu skriva stavek select. Ta izbirni stavek je lahko zelo zapleten, saj zajema podatke iz več tabel in pogledov. Z drugimi besedami, torej je pogled poimenovani stavek za izbiro, ki je shranjen v bazi podatkov. Pogled je mogoče uporabiti za skrivanje logike za odnosi tabele pred končnimi uporabniki. Ker je pogled rezultat shranjene poizvedbe, ne hrani nobenih podatkov. Zbira podatke iz osnovnih tabel in prikazuje. Pogledi igrajo pomembno vlogo tudi pri varnosti podatkov. Kadar mora lastnik tabele končnim uporabnikom prikazati samo nabor podatkov, je ustvarjanje pogleda dobra rešitev. Poglede lahko razdelimo v dve kategoriji

  • Pogledi, ki jih je mogoče posodobiti (Pogledi, ki jih je mogoče uporabiti za VSTAVLJANJE, POSODOBITEV in IZBRIS)
  • Pogledi, ki jih ni mogoče posodobiti (pogledi, ki jih ni mogoče uporabiti za INSERT, UPDATE in DELETE)

Pogledi, ki jih je mogoče posodobiti, ne morejo vključevati sledenj, Nastavi operatorje (INTERSECT, MINUS, UNION, UNION ALL)

DISTINCT

Skupinske agregatne funkcije (AVG, COUNT, MAX, MIN, SUM itd.)

Klavzula GROUP BY

Klavzula ORDER BY

Klavzula CONNECT BY

START WITH klavzula

Izraz zbirke na izbranem seznamu

Podpoizvedba na seznamu A Select

Pridruži se poizvedbi

Shranjeni postopek

Shranjene procedure so poimenovani programski bloki. Morajo imeti ime, ki ga kličejo. Shranjene procedure sprejemajo parametre kot uporabniški vnos in jih obdelujejo v skladu z logiko, ki stoji za proceduro, ter dajo rezultat (ali izvedejo določeno dejanje). Deklaracije spremenljivk, dodelitve spremenljivk, kontrolni stavki, zanke, poizvedbe SQL in drugi klici funkcij/procedur/paketov so lahko znotraj telesa procedur.

Kakšna je razlika med pogledom in shranjeno proceduro?

Oglejmo si razlike med tema dvema.

• Pogledi delujejo kot virtualne tabele. Uporabljajo se lahko neposredno od konca poizvedb SQL (izberi), vendar postopkov ni mogoče uporabiti od konca poizvedbe.

• Pogledi imajo samo stavek select kot telo, procedure pa imajo lahko deklaracije spremenljivk, dodelitve spremenljivk, kontrolne stavke, zanke, poizvedbe SQL in druge klice funkcij/postopkov/paketov kot telo.

• Postopek sprejema parametre za izvedbo, vendar pogledi ne želijo izvajanja parametrov.

• Vrste zapisov je mogoče ustvariti iz pogledov z uporabo % ROWTYPE, vendar s postopki ni mogoče ustvariti vrst zapisov.

• Namige SQL lahko uporabite znotraj stavka za izbiro pogleda, da optimizirate načrt izvajanja, vendar namigov SQL ni mogoče uporabiti v shranjenih procedurah.

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK in DEBUG je mogoče odobriti za poglede, vendar samo EXECUTE in DEBUG za procedure.

Priporočena: