Pregled vs pohranjene procedure
Pregledi i pohranjene procedure su dvije vrste objekata baze podataka. Pregledi su vrsta pohranjenih upita, koji prikupljaju podatke iz jedne ili više tabela. Ovdje je sintaksa za kreiranje pogleda
kreiraj ili zameni ime prikaza
kao
select_statement;
Skladištena procedura je unaprijed kompajlirani SQL skup naredbi, koji je pohranjen u poslužitelju baze podataka. Svaka pohranjena procedura ima pozivno ime koje se koristi za njihovo pozivanje unutar drugih paketa, procedura i funkcija. Ovo je sintaksa (u ORACLE-u) za kreiranje pohranjene procedure, kreirajte ili zamijenite proceduru naziv procedure (parametri)
je
početak
izjave;
izuzetak
exception_handling
end;
Pogledaj
A View se ponaša kao virtuelna tabela. Sakriva naredbu za odabir unutar svog tijela. Ova izjava za odabir može biti vrlo složena, koja uzima podatke iz nekoliko tabela i pogleda. Dakle, drugim riječima, pogled je imenovani naredba za odabir, koja se pohranjuje u bazi podataka. Pogled se može koristiti za skrivanje logike iza odnosa tablice od krajnjih korisnika. Pošto je pogled rezultat pohranjenog upita, on ne čuva nikakve podatke. Prikuplja podatke iz osnovnih tabela i prikazuje. Pregledi takođe igraju važnu ulogu u sigurnosti podataka. Kada vlasnik tabele treba da pokaže samo skup podataka krajnjim korisnicima, kreiranje pogleda je dobro rešenje. Pregledi se mogu podijeliti u dvije kategorije
- Pregledi koji se mogu ažurirati (Pregledi koji se mogu koristiti za INSERT, UPDATE i DELETE)
- Pregledi koji se ne mogu ažurirati (Pregledi koji se ne mogu koristiti za INSERT, UPDATE i DELETE)
Pregledi koji se mogu ažurirati ne mogu uključivati sljedeće, Set operatora (INTERSECT, MINUS, UNION, UNION ALL)
DISTINCT
Grupne agregatne funkcije (AVG, COUNT, MAX, MIN, SUM, itd.)
GRUPA PO klauzuli
PORUČI PO klauzuli
POVEZIVANJE PO klauzuli
POČNITE SA klauzulom
Izraz kolekcije na listi za odabir
Podupit na listi A za odabir
Pridruži se upitu
Skladištena procedura
Skladištene procedure se nazivaju programski blokovi. Moraju imati ime koje mogu nazvati. Pohranjene procedure prihvataju parametre kao korisnički unos i obrađuju u skladu sa logikom iza procedure i daju rezultat (ili izvode određenu radnju). Deklaracije varijabli, dodjele varijabli, kontrolni izrazi, petlje, SQL upiti i drugi pozivi funkcija/procedura/paketa mogu biti unutar tijela procedura.
Koja je razlika između pregleda i pohranjene procedure?
Da vidimo razlike između ova dva.
• Pogledi se ponašaju kao virtuelne tabele. Mogu se koristiti direktno u zatvaranju SQL upita (odaberite), ali procedure se ne mogu koristiti nakon zatvaranja upita.
• Pogledi imaju samo naredbu odabira kao tijelo, ali procedure mogu imati deklaracije varijabli, dodjele varijabli, kontrolne izraze, petlje, SQL upite i druge funkcije/procedure/pozive paketa kao svoje tijelo.
• Procedura prihvata parametre za izvršenje, ali pogledi ne žele da se parametri izvršavaju.
• Tipovi zapisa se mogu kreirati iz pogleda koristeći % ROWTYPE, ali korištenjem procedura, tipovi zapisa se ne mogu kreirati.
• SQL nagovještaji se mogu koristiti unutar naredbe za odabir pogleda, za optimizaciju plana izvršenja, ali SQL savjeti se ne mogu koristiti u pohranjenim procedurama.
• DELETE, INSERT, UPDATE, SELECT, FLASHBACK i DEBUG se mogu odobriti na pogledima, ali samo EXECUTE i DEBUG mogu biti odobreni za procedure.