Поделиться через


Пошаговое руководство. Отладка определенной пользователем функции T-SQL

Обновлен: Ноябрь 2007

Этот раздел применим к:

Выпуск

Visual Basic

C#

C++

Web Developer

Экспресс-выпуск

Тема не применяется Тема не применяется Тема не применяется Тема не применяется

Standard

Тема не применяется Тема не применяется Тема не применяется Тема не применяется

Pro и Team

Тема применяется Тема применяется Тема применяется Тема применяется

Условные обозначения таблицы:

Тема применяется

Применяется

Тема не применяется

Не применяется

Тема применяется, но команда по умолчанию сокрыта

Команда или команды, скрытые по умолчанию.

В данном примере используется существующая в базе данных AdventureWorks определенная пользователем функция (UDF) с именем ufnGetStock. Данная функция возвращает число имеющихся в наличии элементов для указанного ProductID.

В примере создается хранимая процедура, несколько раз вызывающая UDF. Хранимая процедура вызывает UDF с различными параметрами, поэтому можно пройти по другим путям выполнения через UDF. Также пример иллюстрирует переход от одного объекта T-SQL (хранимая процедура) к другому (функция). Шаги аналогичны представленным в разделе Пошаговое руководство. Отладка хранимой процедуры T-SQL.

Также можно провести прямую отладку базы данных путем пошагового выполнения функции в Обозревателе сервера.

Отладка функции, определенной пользователем

  1. В новом проекте SQL Server установите соединение с учебной базой данных AdventureWorks. Дополнительные сведения см. в разделе Практическое руководство. Подключение к базе данных.

  2. Создайте новую хранимую процедуру с использованием кода из раздела примера, указанного ниже, и назовите ее Test_ufnGetStock. Дополнительные сведения см. в разделе Практическое руководство. Разработка с помощью типа проекта SQL Server.

  3. Задайте точки останова в Test_ufnGetStock. Это является необязательным, поскольку прямая отладка базы данных приводит к срабатыванию первой строки процедуры в качестве точки останова.

  4. Задайте точки останова в UDF ufnGetStock.

    1. Откройте исходный код для UDF, щелкнув правой кнопкой мыши по узлу Функции в окне Обозреватель сервера, затем щелкните два раза по значку ufnGetStock.

    2. Щелкните левой кнопкой мыши в сером поле за оператором DECLARE, чтобы задать точку останова.

  5. Выполните пошаговую отладку хранимой процедуры. Если для процедуры указаны параметры, то появляется диалоговое окно Вызов сохраненной процедуры с запросом их значений. В данном примере все параметры жестко кодируются внутри хранимой процедуры. Дополнительные сведения см. в разделе Практическое руководство. Пошаговая отладка объекта с использованием обозревателя сервера.

  6. Попробуйте выполнить другие функции отладки.

    1. Продолжайте пошаговую отладку кода с помощью клавиши F11 или кнопки Шаг с заходом. При повторном нажатии клавиши F11 в операторе SELECT можно выполнить шаг с заходом в UDF. Продолжайте пошаговую отладку UDF до возвращения к хранимой процедуре.

    2. Можно просмотреть другие пути выполнения в UDF, в зависимости от параметров ввода. Можно просмотреть значения переменных UDF в окне Локальные переменные или при наведении на них курсора.

Пример

Ниже представлен код для хранимой процедуры, которая вызывает функцию, определенную пользователем.

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

См. также

Основные понятия

Отладка SQL

Ссылки

Обозреватель серверов/обозреватель баз данных