Я хотел бы изменить сортировку всех столбцов всех таблиц моей базы данных. В другой записи в переполнении стека я нашел этот 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
Однако, когда я вижу сортировку столбцов, я вижу, что сортировка - это старая сортировка.
Фактическое сопоставление - AS, поэтому я могу иметь "ЖИВОТНЫЕ" и "ÁNIMAL". Когда я выполняю script, я не получаю никаких ошибок. Я думаю, что я получу ошибку, потому что новая сортировка - это AI. Поэтому мне кажется, что script ничего не делает.
Почему я могу изменить сортировку всех столбцов всех моих таблиц в базе данных?
Спасибо.