Procédures stockées

Écrire des fonctions et des procédures stockées dans SQL Server

Meghan Kwartler

IT Consultant

Qu'est-ce qu'une procédure stockée ?

Quoi ?

Routines qui

  • Acceptent des paramètres d'entrée
  • Exécutent des actions (EXECUTE SELECT, INSERT, UPDATE, DELETE et autres instructions de PS)
  • Renvoyent un statut (succès ou échec)
  • Renvoyent des paramètres de sortie
Écrire des fonctions et des procédures stockées dans SQL Server

Pourquoi utiliser des procédures stockées ?

Pourquoi ?

  • Peut réduire le temps d'exécution
  • Peut réduire le trafic réseau
  • Favorise la programmation modulaire
  • Sécurité améliorée
Écrire des fonctions et des procédures stockées dans SQL Server

Quelle est la différence ?

UDF

  • Doivent renvoyer une valeur
    • Valeur de type table permise
  • Exécution intégrée dans un SELECT permise
  • Aucun paramètre de sortie
  • Aucun INSERT, UPDATE, DELETE
  • Ne peuvent pas exécuter des PS
  • Aucun traitement des erreurs

PS

  • Valeur de retour facultative
    • Pas de valeur de type table
  • Ne peuvent pas être intégrées dans un SELECT pour exécution
  • Renvoyent des paramètres de sortie et un statut
  • INSERT, UPDATE, DELETE permis
  • Peuvent exécuter des fonctions et des PS
  • Gestion des erreurs avec TRY...CATCH
Écrire des fonctions et des procédures stockées dans SQL Server

CREATE PROCEDURE avec paramètre OUTPUT

-- Quatre premières lignes de code
-- Le nom de la PS doit être unique 
CREATE PROCEDURE dbo.cuspGetRideHrsOneDay 
    @DateParm date,
    @RideHrsOut numeric OUTPUT
AS
.......
Écrire des fonctions et des procédures stockées dans SQL Server

CREATE PROCEDURE avec paramètre 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;
Écrire des fonctions et des procédures stockées dans SQL Server

Paramètres de sortie vs valeurs de retour

Paramètres de sortie

  • Tout type de données
  • Plusieurs par PS possibles
  • Pas de paramètres de type table

Valeur de retour

  • Indique succès ou échec
  • Type entier seulement
  • 0 = succès ; non zéro = échec
Écrire des fonctions et des procédures stockées dans SQL Server

Vous êtes prêt(e)(s) pour CREATE PROCEDURE !

Écrire des fonctions et des procédures stockées dans SQL Server

Preparing Video For Download...