none
如何用T-SQL语句修改表格字段的排序规则 RRS feed

  • 问题

  •  
     sql server 2008里边的一个实例,是通过附加的,以前的排序规则使用的是:Chinese_Taiwan_Stroke_CS_AS,安装sql server 2008的时候,使用的是默认的方式:Chinese_Taiwan_Stroke_CI_AS,现在的问题是附加好了之后,Database本身是Chinese_Taiwan_Stroke_CI_AS方式,但里边的表格却是:Chinese_Taiwan_Stroke_CS_AS,想把表格都该成CI模式的,但一张张表格,一个个字段的修改很费事,是否有T-SQL语句可以一次性把Chinese_Taiwan_Stroke_CS_AS格式的表格和字段都改为:Chinese_Taiwan_Stroke_CI_AS
    2009年12月4日 8:58

答案

全部回复

  • 一般如果想修改排序规则只可以修改用户数据库:
    你可以这么做:Alter database 'dbname'
                         collate Chinese_Taiwan_Stroke_CI_AS 这样就可以;如果不可以你可以再询问大家。
    2009年12月4日 9:28
  • 謝謝你的回覆,这种方式我会的,并且我的目的不是想修改database的排序规则,是想修改database里边的table的规则,并且是多个table,一张张修改起来很麻烦,我是想问问有没有什么其他T-SQL语句可以实现批量修改的?
    2009年12月4日 9:53
  • You can generate script with select statement to do that, but existing data in tables will not be affected. Only apply to new data.
    2009年12月5日 2:46
  • 写个游标, 结合 sys.schemas, sys.tables, sys.columns 可以得到要改的表的信息, 然后拼出改的语句, 动态去执行拼出的修改语句

    2009年12月7日 4:44