Vis vs lagret procedure
Visninger og lagrede procedurer er to typer databaseobjekter. Visninger er slags gemte forespørgsler, der samler data fra en eller flere tabeller. Her er syntaksen for at skabe en visning
oprette eller erstatte visningsnavn
som
select_statement;
En lagret procedure er et forud kompileret SQL-kommandosæt, der er gemt på databaseserveren. Hver gemte procedure har et kaldende navn, som bruges til at kalde dem inde i andre pakker, procedurer og funktioner. Dette er syntaksen (i ORACLE) for at oprette en lagret procedure, Opret eller erstat procedure procedurenavn (parametre)
er
begynde
udsagn
undtagelse
undtagelse_handling
ende;
Udsigt
En visning fungerer som en virtuel tabel. Det skjuler en udvalgt sætning inde i kroppen. Denne udvalgte 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, der er gemt i databasen. En visning kan bruges til at skjule logikken bag bordrelationer fra slutbrugere. Da en visning er et resultat af en gemt forespørgsel, gemmer den ingen data. Det samler data fra basistabellerne og viser. Visninger spiller også en vigtig rolle i datasikkerhed. 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, de kan bruges til INDSÆT, OPDATER og SLET)
- Visninger, der ikke kan opdateres (visninger, de kan ikke bruges til INDSÆT, OPDATER og SLET)
Opdaterbare visninger kan ikke omfatte følgende, Sætoperatører (INTERSECT, MINUS, UNION, UNION ALL)
DISTINCT
Gruppeaggregatfunktioner (AVG, COUNT, MAX, MIN, SUM osv.)
GROUP efter klausul
BESTIL EFTER Klausul
FORBINDES MED Klausul
START MED Klausul
Samlingsudtryk i en valgt liste
Underforespørgsel i A Vælg liste
Deltag i forespørgsel
Lagret procedure
Gemte procedurer kaldes programmeringsblokke. De skal have et navn at ringe til. Lagrede procedurer accepterer parametre som brugerinput og proces i henhold til logikken bag proceduren og giver resultatet (eller udfører en bestemt handling). Variable erklæringer, variable tildelinger, kontrolerklæringer, sløjfer, SQL-forespørgsler og andre funktioner / procedure / pakkeopkald kan være inde i proceduren.
Hvad er forskellen mellem visning og lagret procedure? Lad os se forskellene mellem disse to. • Visninger fungerer som virtuelle tabeller. De kan bruges direkte i tæt på SQL-forespørgsler (vælg), men procedurer kan ikke bruges i tæt på forespørgsler. • Visninger har kun en markeret sætning som deres brødtekst, men procedurer kan have Variabeldeklarationer, variabeltildelinger, kontroludtalelser, sløjfer, SQL-forespørgsler og andre funktioner / procedure / pakkeopkald som brødtekst. • Procedure accepterer parametre, der skal udføres, men visninger ønsker ikke, at parametre skal udføres. • Registreringstyper kan oprettes ud fra visninger ved hjælp af% ROWTYPE, men ved hjælp af procedurer kan posttyper ikke oprettes. • SQL-tip kan bruges inde i view select-sætningen for at optimere udførelsesplanen, men SQL-tip kan ikke bruges i lagrede procedurer. • DELETE, INSERT, UPDATE, SELECT, FLASHBACK og DEBUG kan gives på visninger, men kun EXECUTE og DEBUG kan tildeles ved procedurer. |