Stored procedures

Functies en opgeslagen procedures schrijven in SQL Server

Meghan Kwartler

IT Consultant

Wat is een stored procedure?

Wat?

Routines die

  • invoerparameters accepteren
  • acties uitvoeren (EXECUTE SELECT, INSERT, UPDATE, DELETE en andere SP-statements)
  • status teruggeven (succes of fout)
  • outputparameters teruggeven
Functies en opgeslagen procedures schrijven in SQL Server

Waarom stored procedures gebruiken?

Waarom?

  • Kan uitvoeringstijd verlagen
  • Kan netwerkverkeer verminderen
  • Maakt modulair programmeren mogelijk
  • Betere beveiliging
Functies en opgeslagen procedures schrijven in SQL Server

Wat is het verschil?

UDF's

  • Moeten een waarde retourneren
    • Tabelwaarde toegestaan
  • Ingebedde SELECT-uitvoering toegestaan
  • Geen outputparameters
  • Geen INSERT, UPDATE, DELETE
  • Kunnen geen SP's uitvoeren
  • Geen foutafhandeling

SP's

  • Retourwaarde optioneel
    • Geen tabelwaarde
  • Kan niet ingesloten in SELECT worden uitgevoerd
  • Geeft outputparameters & status terug
  • INSERT, UPDATE, DELETE toegestaan
  • Kan functies & SP's uitvoeren
  • Foutafhandeling met TRY...CATCH
Functies en opgeslagen procedures schrijven in SQL Server

CREATE PROCEDURE met OUTPUT-parameter

-- First four lines of code
-- SP name must be unique 
CREATE PROCEDURE dbo.cuspGetRideHrsOneDay 
    @DateParm date,
    @RideHrsOut numeric OUTPUT
AS
.......
Functies en opgeslagen procedures schrijven in SQL Server

CREATE PROCEDURE met OUTPUT-parameter

CREATE PROCEDURE dbo.cuspGetRideHrsOneDay
    @DateParm date,
    @RideHrsOut numeric OUTPUT
AS
SET NOCOUNT ON
BEGIN
SELECT 
  @RideHrsOut = SUM(
    DATEDIFF(second, PickupDate, DropoffDate)
  )/ 3600
FROM YellowTripData
WHERE CONVERT(date, PickupDate) = @DateParm
RETURN
END;
Functies en opgeslagen procedures schrijven in SQL Server

Outputparameters vs. retourwaarden

Outputparameters

  • Elk gegevenstype kan
  • Meerdere per SP mogelijk
  • Geen table-valued parameters

Retourwaarde

  • Geeft succes of fout aan
  • Alleen integer
  • 0 = succes, niet-nul = fout
Functies en opgeslagen procedures schrijven in SQL Server

Je bent klaar om PROCEDUREs te maken!

Functies en opgeslagen procedures schrijven in SQL Server

Preparing Video For Download...