这是针对MS SQL 2005的:任何人都知道为什么第一个成功,然后连续创建两个相同的语句失败?所有的陈述都完全一样。将双引号更改为两个单引号具有相同的效果。sp_MSforeachdb MS SQL错误
sp
_
MSforeachdb @ command1 ='if(left(“?”,2)=“p_
”)begin;打印“?”;结束;';产生
p
_
NationalBrands
p_
NonBrand
p_
数据库_
名称_
这_
开始_
随着_
P_
下划线
但
sp
_
MSforeachdb @ command1 ='if(left(“?”,2)=“p_
”)begin;打印“?”;结束;';
sp_
MSforeachdb @ command1 ='if(left(“?”,2)=“p_
”)begin;打印“?”;结束;';产生
消息102,级别15,状态1,行2 附近有语法错误sp_MSforeachdb'。
实际上,只有在第一个调用之后才需要exec。 (就个人而言,我会把它作为一个风格问题,但它不是必需的) – cmsjr 2009-04-13 02:45:09