Procédure pas à pas : débogage d'un déclencheur T-SQL
Mise à jour : novembre 2007
Cette rubrique s'applique à :
Édition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro et Team |
Légende du tableau :
Applicable |
|
Non applicable |
|
Commande ou commandes masquées par défaut. |
Pour déboguer un déclencheur, vous définissez un point d'arrêt dans une procédure stockée qui déclenche le déclencheur, qui définit un point d'arrêt dans le déclencheur, puis continuez comme décrit dans Procédure pas à pas : débogage d'une procédure stockée T-SQL.
Cet exemple utilise la base de données AdventureWorks, dont la table Sales.Currency contient un déclencheur UPDATE. L'exemple inclut une procédure stockée qui met à jour une ligne dans la table et déclenche le déclencheur. Définissez les points d'arrêt dans le déclencheur. En exécutant la procédure stockée avec différents paramètres, vous pouvez suivre différents chemins d'exécution dans le déclencheur.
Remarque : |
---|
Les boîtes de dialogue et les commandes de menu qui s'affichent peuvent être différentes de celles qui sont décrites dans l'aide, en fonction de vos paramètres actifs ou de l'édition utilisée. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Paramètres Visual Studio. |
Pour déboguer un déclencheur SQL
Dans un nouveau projet SQL Server, établissez une connexion à l'exemple de base de données AdventureWorks. Pour plus d'informations, consultez Comment : se connecter à une base de données.
Créez une nouvelle procédure stockée à l'aide du code de la première section d'exemple ci-dessous et nommez-la UpdateCurrency_T_SQL. Pour plus d'informations, consultez Comment : développer avec le type de projet SQL Server.
Définir des points d'arrêt dans UpdateCurrency_T_SQL. Cette option est facultative, puisque le Débogage direct de base de données a pour effet que la première ligne de la procédure agisse comme un point d'arrêt.
Définir des points d'arrêt pour le déclencheur.
Ouvrez le code source du déclencheur en cliquant avec le bouton droit sur le nœud Tables, puis en cliquant avec le bouton droit sur le nœud de la table Sales.Currency, puis en double-cliquant sur l'icône du déclencheur nommé uCurrency.
Cliquez avec le bouton gauche dans la marge grise à côté de l'instruction SET NOCOUNT ON pour définir un point d'arrêt dans le déclencheur. Cette étape n'est pas facultative : si vous ne définissez pas de point d'arrêt dans le déclencheur, son code sera ignoré lorsque vous essaierez de l'exécuter pas à pas.
Effectuer un pas à pas détaillé dans la procédure stockée. Pour plus d'informations, consultez Comment : effectuer un pas à pas détaillé dans un objet à l'aide de l'Explorateur de serveurs.
La boîte de dialogue Exécuter la procédure stockée apparaît et demande les valeurs de paramètre.
Définissez les valeurs de paramètre suivantes :
@currencyCode = AAA
@name = une valeur arbitraire telle que Mon test.
La flèche jaune du pointeur d'instruction apparaît sur la ligne SET @mynvarchar = @@VERSION, la première ligne de code exécutable dans la procédure stockée.
Testez différentes fonctionnalités de débogage.
Parcourez le code à l'aide de la touche F11 ou du bouton Pas à pas détaillé.
À l'instruction UPDATE, en appuyant sur encore F11, vous effectuerez un pas à pas détaillé dans le déclencheur.
Parcourez le déclencheur jusqu'à ce que vous reveniez à la procédure stockée et continuez jusqu'à la fin.
Dans l'Explorateur de serveurs, vous pouvez vérifier que les données ont été insérées en cliquant avec le bouton droit sur le nœud Sales.Currency sous Tables et en cliquant sur Afficher les données de la table.
Exemple
Voici le code de la procédure stockée qui provoque le déclenchement du déclencheur.
ALTER PROCEDURE dbo.UpdateCurrency_T_SQL
(
@currencyCode nvarchar(3),
@Name nvarchar(50)
)
AS
SET NOCOUNT ON
UPDATE Sales.Currency
SET Name = @Name
WHERE CurrencyCode = @currencyCode
RETURN