zoukankan      html  css  js  c++  java
  • MSSQL2005 修改数据库的排序规则

    1、修改数据库排序规则ALTER DATABASE [DataBaseName] COLLATE Chinese_PRC_CI_AS ;

    2、修改表中列的排序规则
    如果下列其中之一当前正在引用一个列,则无法更改该列的排序规则。

    1. 计算列
    2. 索引
    3. 自动生成或由 CREATE STATISTICS 语句生成的分发统计信息
    4. CHECK 约束
    5. FOREIGN KEY 约束

    --------------------------修改数据库表中字符型列的排序规则 -----------------------------

    DECLARE @S NVARCHAR(1000)
    DECLARE C CURSOR FOR --不区分大小写
        SELECT 'ALTER TABLE ['+B.NAME+'] ALTER COLUMN ['+A.NAME+'] '+ TYPE_NAME(A.XTYPE)+
            CASE WHEN TYPE_NAME(A.XTYPE) IN('TEXT','NTEXT') THEN '' ELSE
                QUOTENAME(A.LENGTH,'(')
            END +' COLLATE CHINESE_PRC_CI_AS'
        FROM SYSCOLUMNS A
            JOIN SYSOBJECTS B ON A.ID=B.ID AND B.TYPE='U'
        WHERE TYPE_NAME(A.XTYPE) IN('VARCHAR','CHAR','NVARCHAR','NCHAR','TEXT','NTEXT')
    OPEN C
    FETCH C INTO @S
    WHILE @@FETCH_STATUS=0
    BEGIN
        EXEC(@S)
        FETCH C INTO @S
    END
    CLOSE C
    DEALLOCATE C
    GO
  • 相关阅读:
    uva 11549
    uva 11078
    uva 1335
    uva 1267
    uva 11520
    uva 12124
    uva 10795 A Different Task
    ACM俱乐部算法基础练习赛(1)
    【BZOJ1010】玩具装箱
    【BZOJ1901】Dynamic Rankings
  • 原文地址:https://www.cnblogs.com/cyun/p/5565473.html
Copyright © 2011-2022 走看看