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://falcon.web-automation.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

Это снижение стоимости владения

за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом

Это быстрое внесение изменений

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

адаптация под мобильные устройства. Про юзабилити платформы