comment changer la rassembler pour toutes les colonnes de la base de données?

Je doit changer le classement de toutes les colonnes de toutes les tables de ma base de données. Dans d'autres post dans le débordement de la pile, j'ai trouvé ce script: (post)

SELECT 'ALTER TABLE [' + SYSOBJECTS.Name + '] ALTER COLUMN [' + SYSCOLUMNS.Name + '] ' +
SYSTYPES.name + 
    CASE systypes.NAME
    WHEN 'text' THEN ' '
    ELSE
    '(' + RTRIM(CASE SYSCOLUMNS.length
    WHEN -1 THEN 'MAX'
    ELSE CONVERT(CHAR,SYSCOLUMNS.length)
    END) + ') ' 
    END

    + ' ' + ' COLLATE Latin1_General__CI_AI ' + CASE ISNULLABLE WHEN 0 THEN 'NOT NULL' ELSE 'NULL' END
    FROM SYSCOLUMNS , SYSOBJECTS , SYSTYPES
    WHERE SYSCOLUMNS.ID = SYSOBJECTS.ID
    AND SYSOBJECTS.TYPE = 'U'
    AND SYSTYPES.Xtype = SYSCOLUMNS.xtype
    AND SYSCOLUMNS.COLLATION IS NOT NULL
    AND NOT ( sysobjects.NAME LIKE 'sys%' )
    AND NOT ( SYSTYPES.name LIKE 'sys%' )
    GO

Cependant, quand je vois le classement des colonnes, je vois que le classement est l'ancien classement.

Le réel de classement est AUSSI, pour que je puisse avoir "ANIMAL" et "ÁNIMAL". Lorsque j'exécute le script, je n'ai pas d'erreur. Je pense que j'aurais une erreur, car le nouveau classement est l'IA. Donc, cela me fait penser que le script ne rien faire.

Pourquoi ne puis-je modifier le classement de toutes les colonnes de toutes mes tables dans la base de données?

Grâce.

InformationsquelleAutor | 2013-05-24