Tutoriel sur les déclencheurs SQL et procédures stockées

Procédures stockées et triggers au sein d'une base de données sont des constructions similaires. Ils peuvent tous deux effectuer les mêmes instructions SQL. La plus grande différence entre les deux est la façon dont ils sont exécutés. Une procédure stockée doit être exécutée par un utilisateur, tandis qu'un déclenchement est exécuté par le système à la suite d'un événement. Evénements déclencheurs qui causent être activés comprennent inserts de données, mises à jour et les suppressions. Un inconvénient de l'utilisation des déclencheurs à la place de procédures stockées est qu'ils ne peuvent pas accepter des paramètres.


Sommaire

Procédures stockées

  1. Utilisez l'instruction ci-dessous pour créer une procédure stockée de base sans paramètres.

    CREATE PROCEDURE mySproc
    AS
    COMMENCER

    -- Déclarations SQL

    FIN

  2. Créer une procédure stockée avec des paramètres en copiant le code ci-dessous. Pour passer un paramètre avec une valeur par défaut, comprennent un signe égal et la valeur souhaitée.

    CREATE PROCEDURE mySproc
    {

     @ Param1 varchar (50),
    @ Param2 datetime = NULL,
    @ Param3 int = 0

    }
    AS
    COMMENCER

    -- Déclarations SQL

    FIN

  3. Mettre à jour ou de modifier une procédure stockée en utilisant le "Modifier" commande à partir de l'exemple ci-dessous.

    ALTER PROCEDURE mySproc
    AS
    COMMENCER

    -- Déclarations SQL

    FIN

  4. Retirer une procédure stockée de la base de données avec le "Goutte" commande comme indiqué ci-dessous.

    DROP PROCEDURE mySproc;

  5. Exécuter votre procédure stockée dans SQL en exécutant les commandes ci-dessous. Si vous incluez les paramètres, les mettre dans l'ordre qui est prévu par la procédure stockée. Toute chaînes transmises doivent être entre guillemets simples.

    Exemple sans paramètres:
    EXEC dbo.mySproc
    GO

    Exemple de paramètres:
    EXEC dbo.mySproc 'données de chaîne »,« 1/1/1900 », 1;

Déclencheurs

  1. Ajouter un déclencheur de base en copiant le code ci-dessous.

    CREATE TRIGGER MyTrigger
    ON myTable
    APRES INSERT
    AS
    COMMENCER

    -- Déclarations SQL

    FIN

  2. Faire un déclencheur qui va courir après plusieurs événements avec les commandes ci-dessous.

    CREATE TRIGGER MyTrigger
    ON myTable
    APRES INSERT, UPDATE, DELETE
    AS
    COMMENCER

    -- Déclarations SQL

    FIN

  3. Modifier votre déclencheur grâce à la "Modifier" commande.

    ALTER TRIGGER MyTrigger
    ON myTable
    APRES INSERT
    AS
    COMMENCER

    -- Déclarations SQL

    FIN

  4. Exécutez les instructions d'un déclencheur à la place des commandes qui provoquent l'événement en utilisant le "Au Lieu De" commande. Par exemple, si mySproc mis à jour la table myTable, ce serait provoquer un événement de UPDATE. Si vous aviez un déclencheur mis en place pour attraper cet événement qui comprenait un "Au Lieu De" commande, le code de la gâchette irait, et le code de la procédure stockée ne serait jamais exécuter.

    CREATE TRIGGER MyTrigger
    ON myTable
    AU LIEU DE MISE À JOUR
    AS
    COMMENCER

    -- Déclarations SQL

    FIN

  5. Retirez votre déclenchement de la base de données avec le "Goutte" commande comme indiqué ci-dessous.

    DROP TRIGGER MyTrigger;




Conseils & Avertissements








  • Si vous avez besoin pour créer des déclencheurs qui sont conditionnelle, vous pouvez exécuter l'une sur l'événement de mise à jour et utilisez la commande de mise à jour pour déterminer si une colonne spécifique a changé.
  • SI PAS METTRE A JOUR (mycolumn)
  • RETOUR
» » » » Tutoriel sur les déclencheurs SQL et procédures stockées