Proceduri stocate

Scrierea funcțiilor și a procedurilor stocate în SQL Server

Meghan Kwartler

IT Consultant

Ce este o procedură stocată?

Ce sunt?

Rutine care

  • Acceptă parametri de intrare
  • Execută acțiuni (EXECUTE SELECT, INSERT, UPDATE, DELETE și alte instrucțiuni SP)
  • Returnează starea (succes sau eșec)
  • Returnează parametri de ieșire
Scrierea funcțiilor și a procedurilor stocate în SQL Server

De ce să folosim proceduri stocate?

De ce?

  • Reduc timpul de execuție
  • Reduc traficul de rețea
  • Permit programarea modulară
  • Securitate îmbunătățită
Scrierea funcțiilor și a procedurilor stocate în SQL Server

Care sunt diferențele?

UDF-uri

  • Trebuie să returneze o valoare
    • Tip tabel permis
  • SELECT încorporat permis
  • Fără parametri de ieșire
  • Fără INSERT, UPDATE, DELETE
  • Nu pot executa SP-uri
  • Fără gestionarea erorilor

SP-uri

  • Valoarea returnată este opțională
    • Fără tip tabel
  • Nu pot fi încorporate în SELECT
  • Returnează parametri de ieșire și stare
  • INSERT, UPDATE, DELETE permise
  • Pot executa funcții și SP-uri
  • Gestionarea erorilor cu TRY...CATCH
Scrierea funcțiilor și a procedurilor stocate în SQL Server

CREATE PROCEDURE cu parametru OUTPUT

-- First four lines of code
-- SP name must be unique 
CREATE PROCEDURE dbo.cuspGetRideHrsOneDay 
    @DateParm date,
    @RideHrsOut numeric OUTPUT
AS
.......
Scrierea funcțiilor și a procedurilor stocate în SQL Server

CREATE PROCEDURE cu parametru 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;
Scrierea funcțiilor și a procedurilor stocate în SQL Server

Parametri de ieșire vs. valori returnate

Parametri de ieșire

  • Orice tip de date
  • Mai mulți per SP
  • Nu pot fi parametri de tip tabel

Valoare returnată

  • Indică succesul sau eșecul
  • Doar tipul de date întreg
  • 0 = succes; valoare nenulă = eșec
Scrierea funcțiilor și a procedurilor stocate în SQL Server

Sunteți pregătit să creați proceduri stocate!

Scrierea funcțiilor și a procedurilor stocate în SQL Server

Preparing Video For Download...