Verschil Tussen Weergave En Opgeslagen Procedure

Inhoudsopgave:

Verschil Tussen Weergave En Opgeslagen Procedure
Verschil Tussen Weergave En Opgeslagen Procedure

Video: Verschil Tussen Weergave En Opgeslagen Procedure

Video: Verschil Tussen Weergave En Opgeslagen Procedure
Video: Linux-handleiding voor beginners 2024, December
Anonim

Bekijk versus opgeslagen procedure

Weergaven en opgeslagen procedures zijn twee soorten databaseobjecten. Weergaven zijn een soort opgeslagen query's die gegevens verzamelen uit een of meer tabellen. Hier is de syntaxis om een weergave te maken

maak of vervang view viewname

zoals

select_statement;

Een opgeslagen procedure is een vooraf gecompileerde SQL-opdrachtset, die wordt opgeslagen op de databaseserver. Elke opgeslagen procedure heeft een aanroepende naam, die wordt gebruikt om ze binnen andere pakketten, procedures en functies aan te roepen. Dit is de syntaxis (in ORACLE) om een opgeslagen procedure te maken, maak of vervang procedure procedurenaam (parameters)

is

beginnen

verklaringen;

uitzondering

exception_handling

einde;

Visie

A View fungeert als een virtuele tafel. Het verbergt een selecte uitspraak in zijn lichaam. Deze select-instructie kan erg complex zijn, waarbij gegevens uit verschillende tabellen en views worden gehaald. Met andere woorden, een view is een benoemde select-instructie, die in de database wordt opgeslagen. Een view kan worden gebruikt om de logica achter de tabelrelaties te verbergen voor eindgebruikers. Omdat een weergave het resultaat is van een opgeslagen query, worden er geen gegevens bewaard. Het verzamelt gegevens uit de basistabellen en shows. Weergaven spelen ook een belangrijke rol bij gegevensbeveiliging. Wanneer de tabeleigenaar alleen een set gegevens aan eindgebruikers hoeft te tonen, is het maken van een weergave een goede oplossing. Weergaven kunnen worden onderverdeeld in twee categorieën

  • Bij te werken weergaven (weergaven die kunnen worden gebruikt voor INSERT, UPDATE en DELETE)
  • Weergaven die niet kunnen worden bijgewerkt (weergaven die niet kunnen worden gebruikt voor INSERT, UPDATE en DELETE)

Bijgewerkte weergaven kunnen geen volgende bevatten, Operators instellen (INTERSECT, MINUS, UNION, UNION ALL)

DISTINCT

Groepsaggregatiefuncties (AVG, COUNT, MAX, MIN, SUM, etc.)

GROUP BY-clausule

ORDER BY clausule

CONNECT BY Clausule

BEGIN MET Clausule

Collectie-expressie in een selectielijst

Subquery in A Select List

Doe mee met Query

Opgeslagen procedure

Opgeslagen procedures worden programmeerblokken genoemd. Ze moeten een naam hebben om te bellen. Opgeslagen procedures accepteren parameters als gebruikersinvoer en verwerken ze volgens de logica achter de procedure en geven het resultaat (of voeren een specifieke actie uit). Variabele declaraties, variabeletoewijzingen, control statements, loops, SQL-queries en andere functies / procedure / pakketaanroepen kunnen binnen de body van procedures staan.

Wat is het verschil tussen weergave en opgeslagen procedure?

Laten we de verschillen tussen deze twee bekijken.

• Weergaven fungeren als virtuele tabellen. Ze kunnen direct worden gebruikt vanaf het einde van SQL-query's (select), maar procedures kunnen niet worden gebruikt vanaf het sluiten van query's.

• Views hebben alleen een select-statement als hoofdtekst, maar procedures kunnen variabeledeclaraties, variabeletoewijzingen, control-statements, loops, SQL-queries en andere functies / procedure / pakketaanroepen als hoofdtekst hebben.

• Procedure accepteert parameters om uit te voeren, maar views willen niet dat parameters worden uitgevoerd.

• Recordtypen kunnen worden gemaakt op basis van weergaven met% ROWTYPE, maar met procedures kunnen recordtypen niet worden gemaakt.

• SQL-hints kunnen worden gebruikt in view select-instructie om het uitvoeringsplan te optimaliseren, maar SQL-hints kunnen niet worden gebruikt in opgeslagen procedures.

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK en DEBUG kunnen worden toegekend voor views, maar alleen EXECUTE en DEBUG kunnen worden toegekend aan procedures.

Aanbevolen: