Procédure pas à pas : débogage d'une fonction T-SQL définie par l'utilisateur

Mise à jour : novembre 2007

Cette rubrique s'applique à :

Édition

Visual Basic

C#

C++

Web Developer

Express

La rubrique ne s'applique pas La rubrique ne s'applique pas La rubrique ne s'applique pas La rubrique ne s'applique pas

Standard

La rubrique ne s'applique pas La rubrique ne s'applique pas La rubrique ne s'applique pas La rubrique ne s'applique pas

Pro et Team

La rubrique s'applique La rubrique s'applique La rubrique s'applique La rubrique s'applique

Légende du tableau :

La rubrique s'applique

Applicable

La rubrique ne s'applique pas

Non applicable

La rubrique s'applique mais la commande est masquée par défaut

Commande ou commandes masquées par défaut.

Cet exemple utilise une fonction définie par l'utilisateur existante nommée ufnGetStock dans la base de données AdventureWorks. Cette fonction retourne un nombre d'éléments en stock pour un ProductID donné.

L'exemple crée une procédure stockée qui appelle l'UDF plusieurs fois. La procédure stockée appelle l'UDF à l'aide de différents paramètres, ce qui vous permet de suivre des chemins d'exécution différents à travers l'UDF. L'exemple montre également le saut d'un objet T-SQL, la procédure stockée, à un autre, la fonction. Les étapes sont semblables à celles de Procédure pas à pas : débogage d'une procédure stockée T-SQL.

Vous pouvez également procéder à un Débogage direct de la base de données en exécutant un pas à pas détaillé de la fonction dans l'Explorateur de serveurs.

Pour déboguer une fonction définie par l'utilisateur

  1. 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.

  2. Créez une procédure stockée à l'aide du code de la première section d'exemple ci-dessous et nommez-la Test_ufnGetStock. Pour plus d'informations, consultez Comment : développer avec le type de projet SQL Server.

  3. Définissez les points d'arrêt dans Test_ufnGetStock. 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.

  4. Définir des points d'arrêt dans l'UDF ufnGetStock.

    1. Ouvrez le code source de l'UDF en cliquant avec le bouton droit sur le nœud Fonctions dans l'Explorateur de serveurs. Double-cliquez ensuite sur l'icône de ufnGetStock.

    2. Cliquez avec le bouton gauche dans la marge grise à côté de l'instruction DECLARE pour définir un point d'arrêt.

  5. Effectuer un pas à pas détaillé dans la procédure stockée. Si la procédure avait des paramètres, la boîte de dialogue Exécuter la procédure stockée serait apparue et demanderait leurs valeurs. Dans ce cas, les paramètres sont tous codés en dur à l'intérieur de 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.

  6. Testez différentes fonctionnalités de débogage.

    1. Parcourez le code à l'aide de la touche F11 ou du bouton Pas à pas détaillé. À l'instruction SELECT, en appuyant sur encore F11, vous effectuerez un pas à pas détaillé dans l'UDF. Exécutez l'UDF pas à pas jusqu'à ce que vous reveniez à la procédure stockée, et continuez.

    2. Vous pouvez constater que les chemins d'exécution diffèrent dans l'UDF en fonction des paramètres d'entrée. Les valeurs des variables dans l'UDF s'affichent dans la fenêtre Variables locales, ou lorsque vous positionnez le curseur dessus.

Exemple

Voici le code de la procédure stockée appelant la fonction définie par l'utilisateur.

ALTER PROCEDURE Test_ufnGetStock 
AS
    SELECT dbo.ufnGetStock(1) as CurrentStock   -- non-zero inventory
    SELECT dbo.ufnGetStock(316) as CurrentStock -- zero inventory
    SELECT dbo.ufnGetStock(5) as CurrentStock   -- no such product

Voir aussi

Concepts

Débogage de SQL

Référence

Explorateur de serveurs/Explorateur de bases de données