Forskellen Mellem Visning Og Lagret Procedure

Indholdsfortegnelse:

Forskellen Mellem Visning Og Lagret Procedure
Forskellen Mellem Visning Og Lagret Procedure

Video: Forskellen Mellem Visning Og Lagret Procedure

Video: Forskellen Mellem Visning Og Lagret Procedure
Video: Før boligfoto og visning 2024, Kan
Anonim

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.

Anbefalet: