精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
存储过程调试时,某些环境下不能用断点,这时候要用select选择输出进行调试,一行select语句会有一个输出,如果后续行的select没出来,则肯定是这行select前面的代码有问题。这样好定位代码段。下面是演示截图:
变量名做表名,必须要用exec。C#构造SQL语句执行的情况,动态sql语句,要用exec,执行sql语句。但有特殊情况,在exec外定义的表变量,在exec里用不成。 但exec相当于新开窗口,在新窗口环境里又没有定义表变量,所以用不成。所以才有提示必须定义表变量。
存储过程里变量为空,则是因为它依赖的变量有空,只要有一个有空则为空。
日期类型在存储过程里用着相对麻烦,转换结果也不好处理。这里提供一行代码供参考:
CONVERT(char(8),getdate(),112);
上面行的结果就是:“20180517”。其中112参数值是我通过帮助里查到的。