這是針對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