解决:
在SQLServer中修改表的列名,可以调用存储过程sp_rename。
 
[sql]
use Test;--使用数据库 
sp_rename 'd_s_t.avg_grade','avg_g','column'; 
--d_s_t是表名,avg_grade是原来的列名,avg_g是新的列名 
--也可以这样执行:  www.2cto.com   
-- exec sp_rename 'd_s_t.avg_grade','avg_g','column'; 
 
注意:
1.  avg_g前面不要有表名,否则,更改后的列名为d_s_t. avg_g。
2.  更改成功后会有这样一个警告:“注意: 更改对象名的任一部分都可能会破坏脚本和存储过程”。不用理会,这是正常的。
 
附上参考资料:
 
sp_rename
更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。
 
语法
sp_rename [ @objname = ] 'object_name' ,
  [ @newname = ] 'new_name'
  [ , [ @objtype = ] 'object_type' ]
 
参数
[@objname =] 'object_name'
 
是用户对象(表、视图、列、存储过程、触发器、默认值、数据库、对象或规则)或数据类型的当前名称。如果要重命名的对象是表中的一列,那么 object_name必须为 table.column 形式。如果要重命名的是索引,那么 object_name必须为 table.index 形式。object_name为 nvarchar(776) 类型,无默认值。
 
[@newname =] 'new_name'
 
是指定对象的新名称。new_name必须是名称的一部分,并且要遵循标识符的规则。newname 是 sysname类型,无默认值。  www.2cto.com 
 
[@objtype =] 'object_type'
 
是要重命名的对象的类型。object_type为 varchar(13) 类型,其默认值为 NULL,可取下列值。
 
值描述
COLUMN 要重命名的列。
DATABASE 用户定义的数据库。要重命名数据库时需用此选项。
INDEX 用户定义的索引。
OBJECT 在 sysobjects中跟踪的类型的项目。例如,OBJECT 可用来重命名约束(CHECK、FOREIGN KEY、PRIMARY/UNIQUE KEY)、用户表、视图、存储过程、触发器和规则等对象。
USERDATATYPE 通过执行 sp_addtype 而添加的用户定义数据类型。
 
返回代码值
0(成功)或非零数字(失败)
 
注释
只能更改当前数据库中的对象名称或数据类型名称。大多数系统数据类型和系统对象的名称不能更改。
 
重命名视图时,sysobjects表中有关该视图的信息将得到更新。重命名存储过程时,sysobjects 表中有关该过程的信息将得到更新。
 
每当重命名 PRIMARY KEY或 UNIQUE 约束时,sp_rename都会自动为相关联的索引重命名。如果重命名的索引与 PRIMARY KEY 约束相关联,那么 sp_rename 也会自动重命名主键。
 
重要重命名存储过程和视图后,请清空过程高速缓存以确保所有相关的存储过程和视图都重新编译。
 
由于存储过程和视图都不存储数据,所以这两种对象均可快速删除和重建。重命名文本对象时,要获得最佳结果,应删除并使用其新名称重新创建对象。
 
权限
sysadmin 固定服务器角色成员、db_owner 和 db_ddladmin固定数据库角色成员或对象所有者可以执行 sp_rename。只有 sysadmin和 dbcreator 固定服务器角色成员才能将"database"作为 object_type来执行 sp_rename。  www.2cto.com 
 
示例
A. 重命名表
下例将表 customers 重命名为 custs。
 
EXEC sp_rename 'customers', 'custs'
 
B. 重命名列
下例将表 customers 中的列 contact title 重命名为 title。
 
EXEC sp_rename 'customers.[contact title]', 'title', 'COLUMN'

SQLServer Alter 修改表的列名的解决的更多相关文章

  1. alter修改表

    alter修改表的基础语句,语法如下: ALTER TABLE table_name ADD column_name|MODIFY column_name| DROP COLUMN column_na ...

  2. SQL Server 修改表结构被阻止 解决办法

    在我们的程序开发中,有时候会由于需求的变化而要修改数据库中的表结构.可能是增减列,也可能是修改数据类型,或者修改列名等等.但修改表结构是个危险操作,默认情况下,当你修改表结构时,会弹出如下提示框 上图 ...

  3. MySQL使用alter修改表的结构

    SQL语句     DLL        数据定义语言         create,drop     DML     数据操纵语言         insert,delete,select,upda ...

  4. SqlServer 2015修改表时出现“save changes is not permitted…”的解决方法

    使用SqlServer 2015的过程中,会出现如下情况: 在修改完表字段名或是类型后点击保存时会弹出一个对话框,且无法保存已做的修改.对话框内容大致如下: Saving changes is not ...

  5. SQLServer: 无法修改表

    工具—选项—Designers—表设计器和数据库设计器—阻止保存要求重新创建表的更改前的勾去掉.

  6. sqlserver 批量修改表前缀

    先把第一句话放到sqlserver查询器中执行一下.然后把查询结果复制出来,进行编辑...一看你就懂了..简单的sql语句拼装 select ' exec sp_rename "' + na ...

  7. SqlServer查询某个表的列名称、说明、备注、类型等

    SELECT 表名 = case when a.colorder=1 then d.name else '' end, 表说明 = case when a.colorder=1 then isnull ...

  8. 通过sql语句修改表的结构

    1.修改表的列名 oracle: ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名sqlserver:exec sp_rename '[表名].[列名]','[表名].[新 ...

  9. SqlSever查询某个表的列名称、说明、备注、注释,类型等

    这周整理了数据库文档,发现用导出脚本来整理表的信息注释查看不方便,因此我就想能不能SQL语句查询表的注释或者表的字段.我就我问朋友是不是可以,他给我点指导,然后自己也在网上百度,来实现自己的想法,我把 ...

随机推荐

  1. 管道(Pipe)/createPipe

    BOOL CreatePipe(PHANDLE hReadPipe, // 指向读句柄的指针 PHANDLE hWritePipe, // 指向写句柄的指针 LPSECURITY_ATTRIBUTES ...

  2. [Redux] Store Methods: getState(), dispatch(), and subscribe()

    console.clear(); const counter = (state = 0, action) => { switch (action.type) { case 'INCREMENT' ...

  3. *candy——leetcode

    /* */ #include<iostream> #include<vector> //#include<algorithm> #include <windo ...

  4. oracle中split的使用

    1.创建自己的类型 VARCHAR2ARRAY CREATE OR REPLACE TYPE "VARCHAR2ARRAY" as table of varchar2(300); ...

  5. linux vim 个性化设置(.vimrc)

    set sw=4   set ts=4   set et   set smarttab   set smartindent   set lbr   set fo+=mB   set sm   set ...

  6. 《UNIX网络编程》之点对点通信

    思路: 点对点通信,其原理也比较简单,在前面回显服务器的基础上,我们分别在服务端和客户端都使用两个线程,一个线程负责发送数据包,一个线程负责接收数据包. 代码如下: 客户端: /*********** ...

  7. Cookie Version in J2EE

    Cookie Version in J2EE 原文章:http://villadora.me/2014/05/06/cookie-version/ 在处理Cookie的时候发现不能处理servlet ...

  8. Shell基本的命令

    ubuntu 中文乱码 如果使用的是 PuTTY,可以通过修改 font, character set 设置来解决. Window -> Appearance -> Font settin ...

  9. 利用ParameterizedType获取泛型参数类型

    //利用ParameterizedType获取java泛型的参数类型 public class Demo {     public static void main(String[] args) { ...

  10. css04使用外部样式

    1.创建一个新的html页面 <!DOCTYPE html> <html> <head lang="en"> <meta charset= ...