一个因为缺少括号()引发的SQL存储过程不能执行的问题。

有一次,一个朋友让我帮他写一段SQL语句,功能主要是清空数据库中以main或者是sub结尾的表。

我很自然的第一时间想到用游标实现。

一开始代码如下

Code

一运行,总是提示错误:消息 203,级别 16,状态 2,第 11 行
名称 'delete Kf_PDSub 

一时间看不出错误在哪里,用print语句看@Msg也是正确。

后来Google一看人家怎么用exec语句后发现。

用exec调用语句,一定要在字符串中加上()

代码修改成exec (@Msg)

就运行正常了。

原文地址:https://www.cnblogs.com/ouyanga/p/1453479.html