Partager via


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

Cette rubrique s'applique à :

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

ms165047.DoesApplybmp(fr-fr,VS.100).gif ms165047.DoesApplybmp(fr-fr,VS.100).gif ms165047.DoesApplybmp(fr-fr,VS.100).gif ms165047.DoesNotApplybmp(fr-fr,VS.100).gif

Cet exemple utilise une fonction UDF existante nommée ufnGetStock dans la base de données AdventureWorks2008.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 avec des paramètres différents, vous pouvez donc suivre des chemins d'exécution différents via l'UDF.L'exemple illustre également l'accès d'un objet Transact-SQL, la procédure stockée, à un autre, la fonction.Les étapes sont semblables à celles dans Procédure pas à pas : débogage d'une procédure stockée Transact-SQL.

Vous pouvez aussi effectuer un Débogage de base de données direct en effectuant un pas à pas détaillé 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 AdventureWorks2008.Pour plus d'informations, consultez Procédure : se connecter à une base de données avec l'Explorateur de serveurs.

  2. Créez une nouvelle procédure stockée à l'aide du code de la section d'exemple ci-dessous et nommez-la Test_ufnGetStock.Pour plus d'informations, consultez Procédure : déboguer avec un projet serveur ou un projet de base de données SQL Server.

  3. Définissez les points d'arrêt dans Test_ufnGetStock.Ce processus est facultatif, parce que le Débogage de base de données direct fait de la première ligne de la procédure un point d'arrêt.

  4. Définissez les points d'arrêt dans l'UDF ufnGetStock.

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

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

  5. Effectuez 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 se serait affichée pour demander 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 Procédure : 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. Effectuez le pas à pas détaillé dans le code à l'aide de la touche F11 ou du bouton Pas à pas détaillé.À l'instruction SELECT, lorsque vous appuyez encore sur la touche F11, vous allez effectuer un pas à pas détaillé dans l'UDF.Effectuez un pas à pas détaillé dans l'UDF jusqu'à ce que vous retourniez dans la procédure stockée, et continuez.

    2. Vous pouvez observer des chemins d'exécution différents dans l'UDF selon les paramètres d'entrée.Vous pouvez consulter les valeurs des variables dans les UDF dans la fenêtre Variables locales ou en plaçant votre curseur sur celles-ci.

Exemple

Il s'agit du code pour la procédure stockée qui appelle 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 Transact-SQL

Autres ressources

Server Explorer/Database Explorer