MSSQL 修改数据库的排序规则
1、修改数据库排序规则
ALTER DATABASE [CHARACTER] COLLATE Chinese_PRC_CI_AS ;
2、修改表中列的排序规则
如果下列其中之一当前正在引用一个列,则无法更改该列的排序规则。
- 计算列
- 索引
- 自动生成或由 CREATE STATISTICS 语句生成的分发统计信息
- CHECK 约束
- 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