环境: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:呵呵,这个错误只是由于自己的粗心,所以程序员一定要有颗细致的心。
参考资料:
http://topic.youkuaiyun.com/u/20080924/10/c6eb8c9f-62d6-4780-b199-58c22e92a2ba.html
本文详细解析了在使用SQLServer2008R2时,遇到存储过程调用中参数@objname不明确或@objtype有误的错误原因及解决方法。通过示例命令的分析,展示了如何正确执行存储过程以避免此类错误,强调了编程细节的重要性。
5467

被折叠的 条评论
为什么被折叠?



