可使用 alter table 語句更改列的排序規則:
create table mytable
(primarykey int primary key,
charcol varchar(10) collate french_ci_as not null
)
go
alter table mytable alter column charcol
varchar(10)collate latin1_general_ci_as not null
go
不能更改正由以下對象引用的列的排序規則:
計算列。
索引。
自動生成或由 create statistics 語句生成的分發統計。
check 約束。
foreign key 約束。
還可在 alter database 上使用 collate 子句來更改數據庫的默認排序規則:
alter database mydatabase collate french_ci_as
更改數據庫的默認排序規則不會更改任何現有用戶定義表中的列排序規則。可使用 alter table 更改列的排序規則。在 alter database 語句上使用 collate clause 可以:
更改數據庫的默認排序規則。新的默認排序規則適用于隨后創建在數據庫中的所有列、用戶定義數據類型、變量和參數。在數據庫中定義的對象上解析 sql 語句中指定的對象標識符時,也使用新的默認排序規則。
將系統表中的任何 char、varchar、text、nchar、nvarchar 或 ntext 列更改為使用新的排序規則。
將存儲過程和用戶定義函數的所有現有的 char、varchar、text、nchar、nvarchar 或 ntext 參數和標量返回值更改為使用新的排序規則。
將 char、varchar、text、nchar、nvarchar 或 ntext 系統數據類型,以及基于這些系統數據類型的所有用戶定義數據類型更改為使用新的默認排序規則。
為列或數據庫以外的任何其它對象指派了排序規則后,將不能更改排序規則,除非除去并重新創建對象。這一操作將十分復雜。若要更改 microsoft® sql server™ 2000 實例的默認排序規則,必須:
確保具有重新創建用戶數據庫及數據庫中的所有對象所需的全部信息或腳本。
使用工具(如大容量復制)導出所有數據。
除去所有用戶數據庫。
重建 master 數據庫并指定新的排序規則。
創建所有數據庫及數據庫中的所有對象。
導入所有數據。
說明 也可以不更改 sql server 2000 實例的默認排序規則,而為創建的每個新數據庫指定默認排序規則。
新聞熱點
疑難解答