SQLServer 2008参数@objname不明确或所声明的@objtype (column)有误解决

作者:HelloWorld  发布日期:2012-04-11 20:07:18

环境:SQLServer 2008 R2

问题:当调用存储过程sp_rename出现“参数@objname不明确或所声明的@objtype (column)有误”。

 

解决:

看以下几条命令,如果先执行前两句,再接着执行第三句会出现什么问题?

 


01.use Test;--使用数据库  
02.sp_rename 'd_s_t.avg_grade','avg_g','column';--d_s_t是表名,avg_grade是原来的列名,avg_g是新的列名  
03.exec sp_rename 'd_s_t.avg_grade','avg_g','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';
 

对,你说对了。就会报如上所述的错误。

因为你执行第二句以后你原来的列已经更改了名字,而你再使用原来的列当然找不到了。

 

如果再要执行第三句,可以把它改为:


01.exec sp_rename 'd_s_t. avg_g','avg_g_new','column'; 
exec sp_rename 'd_s_t. avg_g','avg_g_new','column';

PS:呵呵,这个错误只是由于自己的粗心,所以程序员一定要有颗细致的心。

延伸阅读:

Tag标签: @objname  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规