2009-03-05 3 views
0

カラムの存在を次のようにチェックすると、それを追加する前にUNIQUE制約に相当する方法はありますか?テーブルの制約を確認する

IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id=OBJECT_ID('[Table]') AND [Name]='Column') 
    ALTER TABLE [Table] 
    ADD 
    [Column] varchar(500) 

答えて

1

は( '[表]')TYPE = 'UQ' とparent_object_id = OBJECT_ID sys.objects SELECT * FROM

1

制約FK_myTable(SQL 2000)のためにこのような何か:

if not exists (select * 
    from sysconstraints sc 
    inner join sysobjects tbl on sc.id = tbl.id 
    inner join sysobjects con on sc.constid = con.id 
    where tbl.name = 'myTable' and con.name = 'FK_myTable') 
+0

私はsysconstraintsとsysobjectsが廃止され、あなたはもはやそれらを使うべきではないと信じています。 – jhale

+0

私はまだ洞窟に住んでいて、SQL 2000を使っています:) – MikeW

関連する問題