SQL. Отладка хранимых процедур и выявление причин ошибок

Используйте хранимую процедуру exec print (str) для вывода интересующих переменных - она пишет в таблицу as_trace с кодом print. В кабинете администратора можно посмотреть последние результаты вывода этой процедуры.

Вы можете запускать процедуру прямо из окна редактирования SQL. 

Заполняете параметры (можно просто скопировать их из процедуры) в формате "@name=value,"

Для сложных типов формат такой: @[parameterName]___[SQLType]=[key]||[value]___[key]||[value]  

  • где SQLType - это CRUDFilterParameter, DictionaryParameter, ExtendedDictionaryParameter. 
  • Разделители это тройное подчеркивание (между названием параметра и типом). 
  • параметры сложного типа разделяются также тройным подчеркиванием(___) и внутри 2 вертикальные линии (||).

Примечание: 

При тестовом вызове происходит Rollback транзакции. Т.е. все изменения в базе будут отменены, но при этом вы получите все данные, которые выдает процедура. 

Как получить значения параметров, которые передаются в хранимые процедуры? 

Для этого указываем в URL параметр debug=[имя хранимки].

В итоге значения параметров попадут в trace print таблицу (выводится название и все параметры со значениями). 

Пример адреса: https://falconspace.ru/pages?debug=crud_pages_getitems

Примечание: данный режим работает, если только значения ядру переданы через DynamicParameters (в большинстве случаев он используется). 

Также используйте SQL Profiler Express для просмотра какие параметры передаются в хранимые процедуры. Для этого необходимо дать права пользователю на трассировку (выполнить на сервере):

Чтобы отменить право трассировки - используйте на сервере:

use master
Revoke ALTER TRACE TO fxproject2;

Если возникает ошибка или неясно почему некорректно отрабатывает запрос, смотрите запрос в SQL Profiler Express, копируете в SQL Management Studio (прямо с теми же параметрами) и проводите отладку чистого вызова в SQL Management Studio.

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK