首页 存档 技术 查看内容

写出易调试的 SQL

2018-3-30 13:00 |来自: 互联网 324 0

摘要: 点击上方“蓝字”可以关注我们哦 |转载自:cnblog |原文链接:http://www.cnblogs.com/anuo/p/6241557.html 1.前言 相比高级语言的调试如C# , 调试SQL是件痛苦的事 . 特别是那些上千行的存储过程, 更是我等码农 ...

点击上方“蓝字”可以关注我们哦




|转载自:cnblog

|原文链接:http://www.cnblogs.com/anuo/p/6241557.html



1.前言


相比高级语言的调试如C# , 调试SQL是件痛苦的事 . 特别是那些上千行的存储过程, 更是我等码农的噩梦.


在将上千行存储过程的SQL 分解到 C# 管理后, 也存在调试的不通畅, 如何让调试流畅些呢, 请看后续


2.常见调试


2.1 通常在Dapper 里面一个断点下去, 抓到类似如下SQL:


SELECT

a.*

FROMdbo.ptype a

INNER JOIN dbo.PType_Price b ON a.typeId=b.PTypeID

LEFT JOIN dbo.PType_Units c ON a.typeId=c.UnitsId

WHERE a.typeId=@typeid AND a.CreateDate=@Area

AND preprice1=@preprice1 AND deleted=@deleted

各种@符号, 需要手工替换后才能调试(麻烦), 要是能抓到最终SQL就好了


2.2 庆幸的是可以通过SQLServer Profiler 来抓到最终SQL

但是生产环境中的SQLServer, 并发执行的SQL 非常多, 如上图所见, 在一大堆SQL 里面找到你刚才执行的SQL也比较麻烦, 即使可以Ctrl F 调出搜索框来搜索, 也要想个好的关键字来搜索, 麻烦.


3.解决方案


既然我们想要最终的SQL , 为毛不在丢给Dapper 执行前, 就已经是最终SQL了呢, 上工具代码:


public class SqlHelper

{

public Dictionary

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部