環境:SQLServer 2008 R2
問題:當調用存儲過程sp_rename出現“參數@objname不明確或所聲明的 @objtype (column)有誤”。
解決:
看以下幾條命令,如果先執行前兩句,再接著執行第三句 會出現什麼問題?
use Test;--使用數據庫 sp_rename 'd_s_t.avg_grade','avg_g','column';--d_s_t是表名,avg_grade是原來的列名,avg_g是新的列名 exec sp_rename 'd_s_t.avg_grade','avg_g','column';
對,你說對了。就會報如上所述的錯誤。
因為你執行第二句以後你原來的列已經更改了名字,而你再使用原來的列當然找不到了。
如 果再要執行第三句,可以把它改為:
exec sp_rename 'd_s_t. avg_g','avg_g_new','column';
PS:呵呵,這個錯誤只是由於自己的粗心,所以程序員一定要有顆 細致的心。