MSSQL 修改数据库的排序规则

1、修改数据库排序规则

ALTER DATABASE [CHARACTER] COLLATE Chinese_PRC_CI_AS ;

 


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

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

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

 1 DECLARE @S NVARCHAR(1000)
 2 DECLARE C CURSOR FOR --不区分大小写
 3     SELECT 'ALTER TABLE ['+B.NAME+'] ALTER COLUMN ['+A.NAME+'] '+ TYPE_NAME(A.XTYPE)+
 4         CASE WHEN TYPE_NAME(A.XTYPE) IN('TEXT','NTEXT') THEN '' ELSE
 5             QUOTENAME(A.LENGTH,'(')
 6         END +' COLLATE CHINESE_PRC_CI_AS'
 7     FROM SYSCOLUMNS A
 8         JOIN SYSOBJECTS B ON A.ID=B.ID AND B.TYPE='U'
 9     WHERE TYPE_NAME(A.XTYPE) IN('VARCHAR','CHAR','NVARCHAR','NCHAR','TEXT','NTEXT')
10 OPEN C
11 FETCH C INTO @S
12 WHILE @@FETCH_STATUS=0
13 BEGIN
14     EXEC(@S)
15     FETCH C INTO @S
16 END
17 CLOSE C
18 DEALLOCATE C
19 GO

 

posted on 2015-01-23 09:55  东云180  阅读(754)  评论(0编辑  收藏  举报

导航