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


Как выполнять отладку хранимых процедур

 

Отладчик Transact-SQL позволяет в интерактивном режиме отлаживать хранимые процедуры, отображая стек вызовов SQL, локальные переменные и параметры хранимой процедуры SQL.Аналогично отладке в других языках программирования можно просматривать и изменять локальные переменные и параметры, просматривать глобальные переменные, а также управлять точками останова при отладке скриптов Transact-SQL.

В этом примере показаны создание и отладка хранимой процедуры Transact-SQL в пошаговом режиме.

System_CAPS_warningПредупреждение

В следующей процедуре используются сущности, созданные в предыдущих процедурах в разделах Разработка подключенной базы данных и Разработка базы данных вне сети с учетом проекта.

Отладка хранимых процедур

  1. В обозревателе решений щелкните правой кнопкой мыши проект TradeDev и выберите Добавить, затем Хранимая процедура.Назовите эту новую хранимую процедуру AddProduct и нажмите кнопку Добавить.

  2. Вставьте следующий код в хранимую процедуру.

    CREATE PROCEDURE [dbo].[AddProduct]
    @id int,
    @name nvarchar(128)
    AS
    INSERT INTO [dbo].[Product] (Id, Name) VALUES (@id, @name)
    
  3. Нажмите клавишу F5 для построения и развертывания проекта.

  4. В окне Обозреватель объектов SQL Server в узле Local щелкните правой кнопкой мыши базу данных TradeDev и выберите команду Создать запрос.

  5. Вставьте следующий код в окно запроса.

    EXEC [dbo].[AddProduct] 50, N'Contoso';
    GO
    
  6. Щелкните в левом поле окна, чтобы добавить точку останова в инструкцию EXEC.

  7. Щелкните стрелку раскрывающегося списка на кнопке с зеленой стрелкой на панели инструментов редактора Transact-SQL и выберите команду Выполнить с отладчиком, чтобы выполнить запрос в режиме отладки.

  8. Также можно начать отладку из Обозреватель объектов SQL Server.Щелкните правой кнопкой мыши хранимую процедуру AddProduct (расположена в узле Local -> база данных TradeDev -> Программирование -> Хранимые процедуры).Выберите команду Отладка процедуры.Если для объекта требуются параметры, то откроется диалоговое окно Отладка процедуры с таблицей, каждая строка которой будет соответствовать параметру.Каждая строка таблицы состоит из двух столбцов: один для имени параметра, а другой для его значения.Введите значение для каждого параметра и нажмите кнопку «ОК».

  9. Окно Locals должно быть открыто.Если оно не открыто, откройте меню Отладка, выберите пункты Окна и Local.

  10. Нажмите клавишу F11 для пошагового выполнения запроса.Обратите внимание, что параметры хранимой процедуры и соответствующие значения отображаются в окне Locals.Кроме того, можно поместить указатель мыши на параметре @name в предложении INSERT: отобразится присвоенное ему значение Contoso.

  11. Щелкните Contoso в текстовом поле.Введите Fabrikam и нажмите клавишу ВВОД, чтобы изменить значение переменной name во время отладки.Кроме того, ее значение можно изменить в окне Locals.Обратите внимание, что значение параметра теперь отображается красным цветом, означающим его изменение.

  12. Нажмите клавишу F10, чтобы пройти по оставшемуся коду.

  13. В Обозреватель объектов SQL Server обновите узел базы данных TradeDev, чтобы просмотреть новое содержимое в представлении данных таблицы Product.

  14. В окне Обозреватель объектов SQL Server в узле Local найдите таблицу Product базы данных TradeDev.

  15. Щелкните правой кнопкой мыши таблицу Product и выберите Просмотр данных.Обратите внимание, что в таблицу добавилась новая строка.