Procedury składowane

Funkcje i procedury składowane w SQL Server

Meghan Kwartler

IT Consultant

Czym jest procedura składowana?

Co to jest?

Procedury, które:

  • Przyjmują parametry wejściowe
  • Wykonują operacje (EXECUTE SELECT, INSERT, UPDATE, DELETE i inne instrukcje SP)
  • Zwracają status (sukces lub błąd)
  • Zwracają parametry wyjściowe
Funkcje i procedury składowane w SQL Server

Dlaczego warto używać procedur składowanych?

Dlaczego?

  • Mogą skrócić czas wykonania
  • Mogą zmniejszyć ruch sieciowy
  • Umożliwiają programowanie modułowe
  • Zwiększają bezpieczeństwo
Funkcje i procedury składowane w SQL Server

Jakie są różnice?

UDF

  • Muszą zwracać wartość
    • Dozwolone typy tabelaryczne
  • Dozwolone osadzanie SELECT
  • Brak parametrów wyjściowych
  • Brak INSERT, UPDATE, DELETE
  • Nie mogą wykonywać SP
  • Brak obsługi błędów

SP

  • Wartość zwracana opcjonalna
    • Brak typów tabelarycznych
  • Nie można osadzać w SELECT
  • Zwracają parametry wyjściowe i status
  • Dozwolone INSERT, UPDATE, DELETE
  • Mogą wykonywać funkcje i SP
  • Obsługa błędów przez TRY...CATCH
Funkcje i procedury składowane w SQL Server

CREATE PROCEDURE z parametrem OUTPUT

-- First four lines of code
-- SP name must be unique 
CREATE PROCEDURE dbo.cuspGetRideHrsOneDay 
    @DateParm date,
    @RideHrsOut numeric OUTPUT
AS
.......
Funkcje i procedury składowane w SQL Server

CREATE PROCEDURE z parametrem OUTPUT

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;
Funkcje i procedury składowane w SQL Server

Parametry wyjściowe a wartości zwracane

Parametry wyjściowe

  • Dowolny typ danych
  • Można zdefiniować wiele w jednej SP
  • Nie mogą być parametrami tabelarycznymi

Wartość zwracana

  • Wskazuje sukces lub błąd
  • Tylko typ całkowity (integer)
  • 0 oznacza sukces, wartość niezerowa – błąd
Funkcje i procedury składowane w SQL Server

Jesteś gotowy do tworzenia procedur składowanych!

Funkcje i procedury składowane w SQL Server

Preparing Video For Download...