Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como definir o agrupamento de uma coluna no SQL Server (T-SQL)


Por padrão, cada coluna em um banco de dados SQL Server usa o agrupamento que foi especificado no nível do banco de dados. E, por padrão, o agrupamento do banco de dados é obtido do agrupamento do servidor. No entanto, essas configurações de agrupamento podem ser substituídas, tanto no nível do banco de dados quanto no nível da coluna, definindo explicitamente o agrupamento nesse nível.

Esta página demonstra como especificar o agrupamento de uma coluna. Você pode definir o agrupamento adicionando o T-SQL COLLATE cláusula para o CREATE TABLE e ALTER TABLE declarações. Ao usar essas instruções, você define a coluna e suas propriedades, incluindo qualquer configuração de agrupamento. O COLLATE A cláusula é opcional, portanto, se você não a incluir, a coluna simplesmente usará o agrupamento padrão do banco de dados.

Definir o agrupamento


Aqui está um exemplo de especificação do agrupamento ao criar uma tabela:
CREATE TABLE Tasks (
    TaskId int IDENTITY(1,1) NOT NULL PRIMARY KEY,
    TaskName nvarchar(255) COLLATE French_CI_AI NOT NULL
);

Isso cria uma tabela chamada Tasks com duas colunas. Definimos o agrupamento da segunda coluna (TaskName ) para French_CI_AI . Se não fizéssemos isso, teria usado o agrupamento de banco de dados padrão.

Alterar o agrupamento


Neste próximo exemplo, altero o agrupamento da coluna para Modern_Spanish_CI_AI_WS :
ALTER TABLE Tasks ALTER COLUMN TaskName
    nvarchar(255) COLLATE Modern_Spanish_CI_AI_WS NOT NULL
GO

Observe que você não pode alterar o agrupamento de uma coluna referenciada por qualquer um dos seguintes:
  • Uma coluna computada
  • Um índice
  • Estatísticas de distribuição
  • Um CHECK restrição
  • Uma FOREIGN KEY restrição

Verifique o agrupamento


Se você usa SSMS, pode verificar o agrupamento de qualquer coluna clicando com o botão direito do mouse nessa coluna no Pesquisador de objetos e selecionando Properties .

No Transact-SQL, há algumas maneiras diferentes de retornar o agrupamento de uma coluna. Veja como verificar o agrupamento de uma coluna usando T-SQL.