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: Strains And Deformation 2024, November
Anonim

Visa kontra lagrad procedur

Visningar och lagrade procedurer är två typer av databasobjekt. Vyer är en sorts 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 ersätt vynamn

as

select_statement;

En lagrad procedur är en förkompilerad SQL-kommandouppsättning, 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 procedurens namn (parametrar)

är

begin

statements;

exception

exception_handling

end;

Visa

A View fungerar som ett virtuellt bord. Den döljer ett utv alt uttalande i kroppen. Denna select-sats kan vara mycket komplex, som 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 för 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. Åsikter 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-uppdateringsbara vyer (vyer som inte kan användas för INSERT, UPDATE och DELETE)

Uppdaterbara vyer kan inte inkludera följande, Ange operatörer (INTERSECT, MINUS, UNION, UNION ALL)

DISTINCT

Aggregerade gruppfunktioner (AVG, COUNT, MAX, MIN, SUM, etc.)

GROUP BY-klausul

ORDER BY Clause

CONNECT BY-klausul

BÖRJA MED Klausul

Samlingsuttryck i en utvald lista

Subquery in A Select List

Gå med i fråga

Lagrad procedur

Lagrade procedurer kallas programmeringsblock. De måste ha ett namn att kalla. Lagrade procedurer accepterar parametrar som användarinmatning och process enligt logiken bakom proceduren och ger resultatet (eller utför en specifik åtgärd). Variabeldeklarationer, variabeltilldelningar, kontrollsatser, loopar, SQL-frågor och andra funktioner/procedurer/paketanrop kan finnas inne i procedurerna.

Vad är skillnaden mellan visning och lagrad procedur?

Låt oss se skillnaderna mellan dessa två.

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

• Views har bara en select-sats som sin body, men procedurer kan ha variabeldeklarationer, variabeltilldelningar, kontrollsatser, loopar, SQL-frågor och andra funktioner/procedur/paketanrop som body.

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

• Posttyper kan skapas från vyer med % ROWTYPE, men med hjälp av procedurer kan posttyper inte skapas.

• SQL-tips kan användas inuti view select-satsen 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.

Rekommenderad: