Skillnaden Mellan Visning Och Lagrad Procedur

Innehållsförteckning:

Skillnaden Mellan Visning Och Lagrad Procedur
Skillnaden Mellan Visning Och Lagrad Procedur

Video: Skillnaden Mellan Visning Och Lagrad Procedur

Video: Skillnaden Mellan Visning Och Lagrad Procedur
Video: Fö 13 Databas: PLSQL 3, Lagrade procedurer, funktioner och triggrar 2024, Maj
Anonim

Visa mot lagrad procedur

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

skapa eller byt ut visningsnamn

som

select_statement;

En lagrad procedur är en förkompilerad SQL-kommandosats som lagras i databasservern. Varje lagrad procedur har ett anropsnamn, som används för att anropa dem i andra paket, procedurer och funktioner. Detta är syntaxen (i ORACLE) för att skapa en lagrad procedur, skapa eller ersätt procedur procedurenamn (parametrar)

är

Börja

uttalanden;

undantag

undantagshantering

slutet;

Se

En vy fungerar som en virtuell tabell. Det döljer ett valt uttalande i kroppen. Det här utvalda uttalandet kan vara mycket komplext, vilket tar data från flera tabeller och vyer. Därför, med andra ord, är en vy en namngiven select-sats, som lagras i databasen. En vy kan användas för att dölja logiken bakom tabellrelationerna från slutanvändare. Eftersom en vy är ett resultat av en lagrad fråga, behåller den ingen data. Den samlar in data från bastabellerna och visar. Visningar spelar också en viktig roll för datasäkerhet. När tabellägaren bara behöver visa en uppsättning data för slutanvändare är det en bra lösning att skapa en vy. Visningar kan delas in i två kategorier

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

Uppdaterbara vyer kan inte innehålla följande, Ställ operatörer (INTERSECT, MINUS, UNION, UNION ALL)

DISTINKT

Gruppaggregerade funktioner (AVG, COUNT, MAX, MIN, SUM, etc.)

GRUPP AV Klausul

BESTÄLLNING AV Klausul

ANSLUTA AV Klausul

Börja med klausul

Samlingsuttryck i en vald lista

Underfråga i A Select List

Gå med i frågan

Lagrad procedur

Lagrade procedurer heter 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 tilldelningar, kontrolluttalanden, loopar, SQL-frågor och andra funktioner / procedur / paketsamtal kan finnas i proceduren.

Vad är skillnaden mellan visning och lagrad procedur?

Låt oss se skillnaderna mellan dessa två.

• Visningar fungerar som virtuella tabeller. De kan användas direkt från stängning av SQL-frågor (välj), men procedurer kan inte användas från stängning av frågor.

• Visningar har endast ett valt uttalande som sin kropp, men procedurer kan ha variabla deklarationer, variabla tilldelningar, kontrolluttalanden, slingor, SQL-frågor och andra funktioner / procedur / paketanrop som sin kropp.

• Procedur accepterar parametrar som ska köras, men vyer vill inte att parametrar ska köras.

• Inspelningstyper kan skapas från vyer med% ROWTYPE, men med procedurer kan inte posttyper skapas.

• SQL-tips kan användas inuti view select-uttalandet för att optimera exekveringsplanen, men SQL-tips kan inte användas i lagrade procedurer.

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

Rekommenderas: