Skillnad mellan visning och lagrad procedur

Visa vs lagrad procedur
 

Visningar och lagrade procedurer är två typer av databasobjekt. Visningar är typ av lagrade frågor, som samlar data från en eller flera tabeller. Här är syntaxen för att skapa en vy

skapa eller ersätt visningsnamn

som

select_statement;

En lagrad procedur är en kompilerad SQL-kommandosats som är lagrad i databasservern. Varje lagrad procedur har ett anropsnamn som används för att ringa dem i andra paket, procedurer och funktioner. Det här är syntaxen (i ORACLE) för att skapa en lagrad procedur,

skapa eller ersätt procedurnamn för procedurer (parametrar)

är

Börja

uttalanden;

undantag

undantagshantering

slutet;

Se

En vy fungerar som en virtuell tabell. Det döljer ett utvalt uttalande i sin kropp. Denna valda uttalande kan vara en mycket komplex, som tar data från flera tabeller och vyer. Därför är en mening en namngiven valda uttalande, som lagras i databasen. En vy kan användas för att dölja logiken bakom bordrelationerna från slutanvändarna. Eftersom en vy är ett resultat av en sparad fråga, behåller den inte några data. Den samlar data från basborden och visar. Visningar spelar också en viktig roll i datasäkerhet. När bordsägaren bara behöver visa en uppsättning data till slutanvändare är det en bra lösning att skapa en vy. Synpunkter kan delas in i två kategorier

  • Uppdaterbara vyer (Visningar som kan användas för INSERT, UPDATE och DELETE)
  • Icke-uppdaterbara vyer (Visningar som inte kan användas för INSERT, UPDATE och DELETE)

Uppdaterbara vyer kan inte inkludera följder,

Ange operatörer (INTERSECT, MINUS, UNION, UNION ALL)

DISTINKT

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

GRUPP AV Klausul

BESTÄLL AV ARTIKEL

ANSLUT TILL Klausul

START MED Klausul

Samlingsuttryck i en vald lista

Underfråga i A Välj lista

Gå med i fråga 

Lagrad procedur

Lagrade procedurer kallas programmeringsblock. De måste ha ett namn att ringa. Lagrade procedurer accepterar parametrar som användarinmatning och process enligt logiken bakom proceduren och ger resultatet (eller utför en specifik åtgärd). Variabla deklarationer, variabla uppdrag, kontrollmeddelanden, loopar, SQL-frågor och andra funktioner / procedur / paketsamtal kan ligga inom ramen för förfarandena. 

Vad är skillnaden mellan Visa och lagrade procedurer?

Låt oss se skillnaderna mellan dessa två.

• Visningar fungerar som virtuella tabeller. De kan användas direkt från nära SQL-frågor (välj), men procedurer kan inte användas från nära sökfrågor.

• Visningar har endast en vald uttalande som sin kropp, men rutiner kan ha variabeldeklarationer, variabla uppdrag, kontroller, loopar, SQL-frågor och andra funktioner / procedurer / paketsamtal som sin kropp.

• Förfarande accepterar parametrar som ska utföras, men vyer vill inte att parametrar ska utföras.

• Inspelningstyper kan skapas från visningar med% ROWTYPE, men med hjälp av procedurer kan inte inspelningstyper skapas.

• SQL-tips kan användas inuti, välj valda uttalanden, för att optimera exekveringsplanen, men SQL-tips kan inte användas i lagrade procedurer.

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK och DEBUG kan beviljas på visningar, men endast EXECUTE och DEBUG kan beviljas för förfaranden.