• (4.42)sql server修改数据库名、表名、列名


    【1】基本操作

    【1.1】修改数据库名:sp_renamedb 

    Use master;
    EXEC sp_dboption 'DBNAME_OLD', 'Single User', 'TRUE' 
    --修改数据库名
    EXEC sp_renamedb 'DBNAME_OLD', 'DBNAME_NEW' 
    EXEC sp_dboption 'DBNAME_NEW', 'Single User', 'FALSE' 

    【1.2】修改表名:sp_rename 

    --下例将表 customers 重命名为 custs。 
    
    EXEC sp_rename 'customers', 'custs' 

    【1.3】修改列名:sp_rename 

    exec sp_rename '[表名].[列名]','[新列名]'

    【2】核心注意事项

    【2.1】需要的权限

      sysadmin 固定服务器角色成员、db_owner 和 db_ddladmin 固定数据库角色成员或对象所有者可以执行 sp_rename。

      只有 sysadmin 和 dbcreator 固定服务器角色成员才能将"database"作为 object_type 来执行 sp_rename。 

    【2.2】重命名存储过程、视图、表、字段的区别

    (1)重命名存储过程和视图

      重命名存储过程和视图后,请清空过程高速缓存以确保所有相关的存储过程和视图都重新编译。 

      由于存储过程和视图都不存储数据,所以这两种对象均可快速删除和重建。

      重命名文本对象时,要获得最佳结果,应删除并使用其新名称重新创建对象。

    (2)重命名表、字段

      需要刷新视图,以保证select *  等操作,更好的引用表、字段。

    --刷新对象定义,可以解决
    exec sp_refreshsqlmodule 'SP_2nd'
    --如果是视图,也可以这样刷新
    exec sp_refreshview 'view_name'
    
    --批量刷新视图
    SELECT DISTINCT
    'EXEC sp_refreshview ''' + name + ''''
    FROM    db_tank.sys.objects AS so
    WHERE   so.type = 'V'

    参考:查看数据库对象的引用关系,查看数据库对象的依赖关系

  • 相关阅读:
    POJ 3069 Saruman's Army
    POJ 3617 Best Cow Line
    Part5核心初始化_lesson2---设置svc模式
    Part5核心初始化_lesson1---异常向量表
    Part4_lesson4---Bootloader架构设计
    Part4_lesson3---U-Boot工作流程分析
    zigbee--绑定
    Part4_lesson2---ARM处理器这个硬件启动流程分析
    Part4_lesson1---Bootloader设计蓝图
    zigbee之MAC地址发送
  • 原文地址:https://www.cnblogs.com/gered/p/12843054.html
Copyright © 2020-2023  润新知