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 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. |