美文网首页
sql server存储过程无法使用调试功能?此工具在手 天下我

sql server存储过程无法使用调试功能?此工具在手 天下我

作者: 吉凶以情迁 | 来源:发表于2024-04-12 10:26 被阅读0次

此工具可以一键转换为sql语句,随时修改,改为可以再变成存储,修改开发过程中不会对原有存储造成任何影响也不需要生成新的存储。

一键转换为sql还可以选择是否每行插入print语句,这样可以精确定位到执行到了哪句话

?远程调试还有一个功能就是可以定位到哪行变量多少,那么无法调试,也可以快捷做到

只需要选中@x,@b,@c,@c 然后右键2printstr,直接生成打印语句
支持选中存储的参数和 局部变量。

此工具支持vsual studio , Azure Data Studio
额。

image.png

至于代码搜索的,我就没搞插件了,有现成的,不过我自己开发了一个网页版的,感觉更方便多开界面显示,不需要就关闭浏览器页面等于关闭窗口。

image.png

我拿了一个系统存储过程进行参数打印进行测试,

image.png
print('@publication:'+cast(isnull(@publication,'NULL') as varchar(100))+',''@article:'+cast(isnull(@article,'NULL') as varchar(100))+',''@source_object:'+cast(isnull(@source_object,'NULL') as varchar(100))+',''@type:'+cast(isnull(@type,'NULL') as varchar(100))+',''@description:'+cast(isnull(@description,'NULL') as varchar(100))+',''@column_tracking:'+cast(isnull(@column_tracking,'NULL') as varchar(100))+',''@status:'+cast(isnull(@status,'NULL') as varchar(100))+',''@pre_creation_cmd:'+cast(isnull(@pre_creation_cmd,'NULL') as varchar(100))+',''@creation_script:'+cast(isnull(@creation_script,'NULL') as varchar(100))+',''@schema_option:'+cast(isnull(@schema_option,'NULL') as varchar(100))+',''@subset_filterclause:'+cast(isnull(@subset_filterclause,'NULL') as varchar(100))+',''@article_resolver:'+cast(isnull(@article_resolver,'NULL') as varchar(100))+',''@resolver_info:'+cast(isnull(@resolver_info,'NULL') as varchar(100))+',''@source_owner:'+cast(isnull(@source_owner,'NULL') as varchar(100))+',''@destination_owner:'+cast(isnull(@destination_owner,'NULL') as varchar(100))+',''@vertical_partition:'+cast(isnull(@vertical_partition,'NULL') as varchar(100))+',''@auto_identity_range:'+cast(isnull(@auto_identity_range,'NULL') as varchar(100))+',''@identityrangemanagementoption:'+cast(isnull(@identityrangemanagementoption,'NULL') as varchar(100))+',''@pub_identity_range:'+cast(isnull(@pub_identity_range,'NULL') as varchar(100))+',''@identity_range:'+cast(isnull(@identity_range,'NULL') as varchar(100))+',''@threshold:'+cast(isnull(@threshold,'NULL') as varchar(100))+',''@verify_resolver_signature:'+cast(isnull(@verify_resolver_signature,'NULL') as varchar(100))+',''@destination_object:'+cast(isnull(@destination_object,'NULL') as varchar(100))+',''@source_object,:'+cast(isnull(@source_object,,'NULL') as varchar(100))+',''@allow_interactive_resolver:'+cast(isnull(@allow_interactive_resolver,'NULL') as varchar(100))+',''@fast_multicol_updateproc:'+cast(isnull(@fast_multicol_updateproc,'NULL') as varchar(100))+',''@check_permissions:'+cast(isnull(@check_permissions,'NULL') as varchar(100))+',''@force_invalidate_snapshot:'+cast(isnull(@force_invalidate_snapshot,'NULL') as varchar(100))+',''@published_in_tran_pub:'+cast(isnull(@published_in_tran_pub,'NULL') as varchar(100))+',''@force_reinit_subscription:'+cast(isnull(@force_reinit_subscription,'NULL') as varchar(100))+',''@logical_record_level_conflict_detection:'+cast(isnull(@logical_record_level_conflict_detection,'NULL') as varchar(100))+',''@logical_record_level_conflict_resolution:'+cast(isnull(@logical_record_level_conflict_resolution,'NULL') as varchar(100))+',''@partition_options:'+cast(isnull(@partition_options,'NULL') as varchar(100))+',''@processing_order:'+cast(isnull(@processing_order,'NULL') as varchar(100))+',''@subscriber_upload_options:'+cast(isnull(@subscriber_upload_options,'NULL') as varchar(100))+',''@identityrangemanagementoption:'+cast(isnull(@identityrangemanagementoption,'NULL') as varchar(100))+',''@delete_tracking:'+cast(isnull(@delete_tracking,'NULL') as varchar(100))+',''@compensate_for_errors:'+cast(isnull(@compensate_for_errors,'NULL') as varchar(100))+',''@stream_blob_columns:'+cast(isnull(@stream_blob_columns,'NULL') as varchar(100)))

额拿系统存储过程进行测试,发现/* */多行注释翻车了,还需要优化下。
OK优化完成,对于一行多个注释或者存储过程 的参数有的1行2个有的在另外一行多个变量的情况下太过麻烦,不打算处理,目前要么所有参数一行,要么所有都在不同行。
下面是处理比对结果。

image.png

相关文章

网友评论

      本文标题:sql server存储过程无法使用调试功能?此工具在手 天下我

      本文链接:https://www.haomeiwen.com/subject/lighxjtx.html