Gespeicherte Prozeduren

Funktionen und Stored Procedures in SQL Server schreiben

Meghan Kwartler

IT Consultant

Was ist eine gespeicherte Prozedur?

Was?

Routinen, die

  • Eingabeparameter annehmen
  • Aktionen ausführen (EXECUTE SELECT, INSERT, UPDATE, DELETE und weitere SP-Anweisungen)
  • Status zurückgeben (Erfolg oder Fehler)
  • Ausgabeparameter zurückgeben
Funktionen und Stored Procedures in SQL Server schreiben

Warum gespeicherte Prozeduren nutzen?

Warum?

  • Kann die Laufzeit reduzieren
  • Kann den Netzwerkverkehr senken
  • Ermöglicht modulare Programmierung
  • Verbesserte Sicherheit
Funktionen und Stored Procedures in SQL Server schreiben

Was ist der Unterschied?

UDFs

  • Müssen einen Wert zurückgeben
    • Tabellenrückgabe erlaubt
  • In SELECT eingebettet ausführbar
  • Keine Ausgabeparameter
  • Kein INSERT, UPDATE, DELETE
  • Können keine SPs ausführen
  • Kein Error-Handling

SPs

  • Rückgabewert optional
    • Keine Tabellenrückgabe
  • Nicht in SELECT einbettbar zur Ausführung
  • Geben Ausgabeparameter & Status zurück
  • INSERT, UPDATE, DELETE erlaubt
  • Können Funktionen & SPs ausführen
  • Error-Handling mit TRY...CATCH
Funktionen und Stored Procedures in SQL Server schreiben

CREATE PROCEDURE mit OUTPUT-Parameter

-- Erste vier Codezeilen
-- SP-Name muss eindeutig sein 
CREATE PROCEDURE dbo.cuspGetRideHrsOneDay 
    @DateParm date,
    @RideHrsOut numeric OUTPUT
AS
.......
Funktionen und Stored Procedures in SQL Server schreiben

CREATE PROCEDURE mit 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;
Funktionen und Stored Procedures in SQL Server schreiben

Ausgabeparameter vs. Rückgabewerte

Ausgabeparameter

  • Können jeden Datentyp haben
  • Pro SP mehrere möglich
  • Keine table-valued Parameter

Rückgabewert

  • Zeigt Erfolg oder Fehler an
  • Nur Ganzzahl-Datentyp
  • 0 bedeutet Erfolg, ungleich 0 bedeutet Fehler
Funktionen und Stored Procedures in SQL Server schreiben

Du bist bereit für CREATE PROCEDUREs!

Funktionen und Stored Procedures in SQL Server schreiben

Preparing Video For Download...