Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment définir le classement d'une colonne dans SQL Server (T-SQL)

Par défaut, chaque colonne d'une base de données SQL Server utilise le classement spécifié au niveau de la base de données. Et par défaut, le classement de la base de données est extrait du classement du serveur. Cependant, ces paramètres de classement peuvent être remplacés, à la fois au niveau de la base de données et au niveau de la colonne en définissant explicitement le classement à ce niveau.

Cette page montre comment spécifier le classement d'une colonne. Vous pouvez définir le classement en ajoutant le T-SQL COLLATE clause à la CREATE TABLE et ALTER TABLE déclarations. Lorsque vous utilisez ces instructions, vous définissez la colonne et ses propriétés, y compris les paramètres de classement. Le COLLATE La clause est facultative donc si vous ne l'incluez pas, la colonne utilisera simplement le classement par défaut de la base de données.

Définir le classement

Voici un exemple de spécification du classement lors de la création d'un tableau :

CREATE TABLE Tasks (
    TaskId int IDENTITY(1,1) NOT NULL PRIMARY KEY,
    TaskName nvarchar(255) COLLATE French_CI_AI NOT NULL
);

Cela crée une table appelée Tasks avec deux colonnes. Nous définissons le classement de la deuxième colonne (TaskName ) à French_CI_AI . Si nous ne l'avions pas fait, il aurait utilisé le classement de base de données par défaut.

Modifier le classement

Dans cet exemple suivant, je change le classement de la colonne en Modern_Spanish_CI_AI_WS :

ALTER TABLE Tasks ALTER COLUMN TaskName
    nvarchar(255) COLLATE Modern_Spanish_CI_AI_WS NOT NULL
GO

Notez que vous ne pouvez pas modifier le classement d'une colonne référencée par l'un des éléments suivants :

  • Une colonne calculée
  • Un index
  • Statistiques de diffusion
  • Une CHECK contrainte
  • Une FOREIGN KEY contrainte

Vérifier le classement

Si vous utilisez SSMS, vous pouvez vérifier le classement de n'importe quelle colonne en cliquant avec le bouton droit sur cette colonne dans le navigateur d'objets et en sélectionnant Properties. .

Dans Transact-SQL, il existe plusieurs façons de renvoyer le classement d'une colonne. Voici comment vérifier le classement d'une colonne à l'aide de T-SQL.