2009-03-05 57 views
0

Aşağıdaki gibi bir sütunun varlığını kontrol edersem, eklemeden önce BENZERSİZ bir kısıtlama için eşdeğeri nasıl kullanırdım? bir kısıtlama FK_myTable (SQL 2000) için böyleTablo üzerinde kısıtlama olup olmadığını kontrol edin

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

cevap

1

select * sys.objects nereye type = 'uq' ve parent_object_id = OBJECT_ID ('[Tablo]')

1

şey:

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 ve sysobject'lerin kullanımdan kaldırıldığını ve artık bunları kullanmanızın gerekmediğine inanıyorum. – jhale

+0

Hala bir mağarada yaşıyorum ve SQL 2000 kullanarak :) – MikeW

İlgili konular