在sql编辑器下,写的拥有较多参数的长sql语句,往往依靠系统本身的错误提示,找不到真正引起错误的地方.而且sql语句都是整体一次性执行完毕的,不会像C#有断点的功能.那么怎么能加上类似的断点功能,让我们可以看到一些过程中的结果呢?
我的这个做法可能比较简单,但是很好用,是利用(select +变量)的方式,起到观察过程返回值的.
比如
declare @text nvarchar(max)
set @text = '%aa%'
declare @sql nvarchar(max)
set @sql ='select * from 表 where text like '
--select @text
exec (@sql+@text)
执行如果总是出错,但是也不知道错在哪,就可以先不执行exec,而执行select @text,这样就可以看到
到底参数是什么状态,进而进行修改。
以上就是一个简单的例子,很多情况下,参数很多的时候并且多次嵌套的情况下,配合while语句,随时declae变量,随时select,就都可以找到问题,进而解决^&^。