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