Удалить параметры сортировки столбца в SQL Server

Как удалить параметры сортировки столбца после его установки?

Стандартное сопоставление столбца в SQL Server - "NULL". Это означает, что используется сортировка базы данных.

TSQL-заявление ALTER table ALTER column COLLATE database_default явным образом установит сопоставление столбца с одним из базы данных, но не восстановит исходное состояние отсутствия сопоставления (сортировка NULL).

Можем ли мы отказаться от сопоставления?

2 ответа

Решение

Нет, вы не можете удалить сопоставление столбца или даже базы данных.

1: Если вы не укажете параметры сортировки, столбцы будут использовать параметры сортировки базы данных по умолчанию.

2: если в базе данных не указано сопоставление, используется сопоставление сервера.

Вы можете восстановитьCOLLATIONизCOLUMNвернуться к базе данных по умолчанию; ты просто используешьdatabase_defaultв качестве имени сопоставления, которое вы хотите:

      ALTER TABLE someTableName ALTER COLUMN someColumnName [nvarchar](255) COLLATE database_default`

Я использую этот простой сценарий для генерации всех операторов SQL. Я видел другие сценарии, которые создают операторы и выполняют их, но они предназначались для конкретных именованных сопоставлений.

      SELECT   TABLE_NAME,
         COLUMN_NAME, 
         COLLATION_NAME, 
         CONCAT('ALTER TABLE ',TABLE_NAME ,' ALTER COLUMN ', COLUMN_NAME ,' [',DATA_TYPE,'](',CHARACTER_MAXIMUM_LENGTH,') 
COLLATE  database_default') AS theScripts
FROM     information_schema.columns 
WHERE    COLLATION_NAME IS NOT NULL 
  AND    collation_name <> 'SQL_Latin1_General_CP1_CI_AS'
  AND    data_type LIKE '%char%'
Другие вопросы по тегам