Verschil tussen weergave en opgeslagen procedure

Bekijk vs Opgeslagen procedure
 

Weergaven en opgeslagen procedures zijn twee soorten databaseobjecten. Weergaven zijn een soort van opgeslagen query's, die gegevens verzamelen van 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 in de databaseserver. Elke opgeslagen procedure heeft een roepnaam, die wordt gebruikt om ze in andere pakketten, procedures en functies op te roepen. Dit is de syntaxis (in ORACLE) om een ​​opgeslagen procedure te maken,

maken of vervangen procedure procedurenaam (parameters)

is

beginnen

statements;

uitzondering

exception_handling

einde;

Uitzicht

Een weergave fungeert als een virtuele tabel. Het verbergt een select statement in zijn lichaam. Deze SELECT-instructie kan een zeer complexe instructie zijn, waarbij gegevens uit verschillende tabellen en views worden overgenomen. Met andere woorden, een weergave is een benoemde select-instructie die in de database wordt opgeslagen. Een weergave kan worden gebruikt om de logica achter de tabelrelaties van eindgebruikers te verbergen. Omdat een weergave het resultaat is van een opgeslagen zoekopdracht, worden er geen gegevens bewaard. Het verzamelt gegevens van de basistabellen en shows. Weergaven spelen ook een belangrijke rol bij gegevensbeveiliging. Wanneer de eigenaar van de tabel alleen een reeks gegevens aan eindgebruikers moet tonen, is het maken van een weergave een goede oplossing. Weergaven kunnen worden onderverdeeld in twee categorieën

  • Bijwerkbare weergaven (weergaven die kunnen worden gebruikt voor INSERT, UPDATE en DELETE)
  • Niet-bijwerkbare weergaven (weergaven die niet kunnen worden gebruikt voor INSERT, UPDATE en DELETE)

Bij te wijzigen weergaven kunnen geen volgingen worden opgenomen,

Operators instellen (INTERSECT, MINUS, UNION, UNION ALL)

DISTINCT

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

GROEP PER clausule

BESTELLING PER Clausule

VERBINDEN OP clausule

START MET clausule

Verzamelingsexpressie in een keuzelijst

Subvraag in A Select List

Word lid van Query 

Opgeslagen procedure

Opgeslagen procedures worden programmeerblokken genoemd. Ze moeten een naam hebben om te bellen. Opgeslagen procedures accepteren parameters als gebruikersinvoer en verwerken volgens de logica achter de procedure en geven het resultaat (of voert een specifieke actie uit). Variabele verklaringen, variabele toewijzingen, besturingsinstructies, loops, SQL-query's en andere functies / procedure / pakketoproepen kunnen zich binnen de hoofdtekst van procedures bevinden. 

Wat is het verschil tussen Bekijk en opgeslagen procedure?

Laten we de verschillen tussen deze twee zien.

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

• Aanzichten hebben alleen een select statement als hun hoofdtekst, maar procedures kunnen Variabele declaraties, variabele toewijzingen, besturingsinstructies, loops, SQL-query's en andere functies / procedure / pakketaanroepen als hoofdtekst hebben.

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

• Recordtypen kunnen worden gemaakt vanuit weergaven met% ROWTYPE, maar met behulp van procedures kunnen geen recordtypen worden gemaakt.

• SQL-hints kunnen worden gebruikt binnen de selectieweergave voor weergaven, om het uitvoeringsplan te optimaliseren, maar SQL-hints kunnen niet worden gebruikt in opgeslagen procedures.

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK en DEBUG kunnen worden verleend op views, maar alleen EXECUTE en DEBUG kunnen worden verleend op procedures.