2016-07-07 4 views
0

特定のサンプルデータを大文字でStateという列に入力するための制約を追加する必要があります。これは私が試みたものです。 「COLLATE」というキーワードの近くに構文が正しくないというエラーメッセージが返されます。制約でcollat​​eを使用するには?

ALTER TABLE [Client] 
ADD CONSTRAINT [client_statecheck] 
CHECK COLLATE SQL_Latin1_General_CP1_CS_AS (State in('QLD', 'NSW', 'VIC','TAS', 'SA', 'WA', 'NT', 'ACT')); 

答えて

0

私は制約を追加している間ではなく、列レベルでCOLLATIONを実装する必要があると思います。

ALTER TABLE Client ALTER COLUMN State 
        varchar(10) COLLATE SQL_Latin1_General_CP1_CS_AS NOT NULL; 
    ALTER TABLE [Client] 
    ADD CONSTRAINT [client_statecheck] 
    CHECK (State in('QLD', 'NSW', 'VIC','TAS', 'SA', 'WA', 'NT', 'ACT')); 
+0

これらの入力は、これらのみです。 'QLD'、 'NSW'、 'VIC'、 'TAS'、 'SA'、 'WA'、 'NT'、 'ACT' – Ayyub

関連する問題