我在程序里,直接使用
Alter table table_name rename column column_oldname to column_newname来修改表中的字段名
以及直接使用
Alter table table_name rename to newname来修改表名
怎么都不成功啊?
是不是需要是超级用户才行?
怎么才能是超级用户呢?
非常感谢!

解决方案 »

  1.   

    --修改表名用
    exec sp_rename
      

  2.   

    --修改表名
    USE AdventureWorks;
    GO
    EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr';
    GO
    --修改字段名
    USE AdventureWorks;
    GO
    EXEC sp_rename 'Sales.SalesTerritory.TerritoryID', 'TerrID', 'COLUMN';
    GO
      

  3.   

    IF OBJECT_ID('TB') IS NOT NULL DROP TABLE TB
    IF OBJECT_ID('TB2') IS NOT NULL DROP TABLE TB2
    GO
    CREATE TABLE TB(COL1 INT)
    GO
    SP_RENAME 'DBO.TB','TB2';
    GO
    SP_RENAME 'DBO.TB2.COL1','COL2','COLUMN';SELECT * FROM TB2
    /*
    COL2
    -----------
    */
      

  4.   


    --修改表名
    exec sp_rename 'OrderTmp','OrderDups'  
    --'OrderTmp'修改之前表名
    --'OrderDups'修改之后表名
    --修改列名
    exec sp_rename 'teacher.teacherName', 'teacherID', 'column' 
      

  5.   

    用系统存储过程来处理吧,代码引用楼上:
    --修改表名
    USE AdventureWorks;
    GO
    EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr';
    GO
    --修改字段名
    USE AdventureWorks;
    GO
    EXEC sp_rename 'Sales.SalesTerritory.TerritoryID', 'TerrID', 'COLUMN';
    GO