zoukankan      html  css  js  c++  java
  • 将数据库所有表和字段首字母变成大写

    随着数据库的规模越来越大,数据库的表也有成百上千,如果需要对数据库表名及字段名做操作,单个还好,直接一条语句搞定了,但如果要对整个库的所有表和字段名做操作,那就显得有点麻烦了。因此,我们需要利用sql语句做批量表名字段名修改操作。

    首先,来了解一下数据库中读取表名字段名的函数: 
    1.获取所有数据库名: 
    Select Name FROM Master..SysDatabases

    2.获取所有表名: 
    select name from sysobjects where type='U' 
    XType='U':表示所有用户表; 
    XType='S':表示所有系统表;

    3.获取所有字段名: 
    Select Name from SysColumns Where id=Object_Id('TableName')

    接下来可以用游标来实现修改所有表明和字段名:

    declare @tablename varchar(50) declare @columnname varchar(50) declare cur_table cursor for select name from sysobjects where type='U' open cur_table  fetch next from cur_table into @tablename while @@fetch_status=0 begin -----------------------------------------   declare cur_column cursor for select name from syscolumns where id=Object_Id(@tablename) open cur_column  fetch next from cur_column into @columnname while @@fetch_status=0 begin   declare @ch varchar(50),@ch1 varchar(50),@uppertablename varchar(50)   set @ch=@tablename+'.'+@columnname   set @ch1=upper(substring(@columnname,1,1))+substring(@columnname,2,len(@columnname)-1)   set @uppertablename=upper(substring(@tablename,1,1))+substring(@tablename,2,len(@tablename)-1)   exec sp_rename @tablename,@uppertablename   exec sp_rename @ch,@ch1,'column' fetch next from cur_column into @columnname end close cur_column deallocate cur_column ----------------------------------------- fetch next from cur_table into @tablename end close cur_table deallocate cur_table 

    执行后整个数据库的表名和字段名都会变成首字母大写的形式。

  • 相关阅读:
    怎样才能充分利用SQL索引
    MS SQL存储过程编写经验和优化措施
    ASP調用存講過程總結
    調用外部的DLL(DllImportAttribute)
    MS SQL中的行轉列
    SQL Server乐观锁定和悲观锁定实例
    如何使用 JScript 從 HTML 網頁自動化 Excel
    了解SQL Server锁争用:NOLOCK 和 ROWLOCK 的秘密
    C#語法學習結構(Struct)
    四项技术 助你提高SQL Server的性能
  • 原文地址:https://www.cnblogs.com/taomylife/p/4679452.html
Copyright © 2011-2022 走看看