SORU
23 Mart 2010, Salı


Nasıl bir Kısıtlama Sql server içinde olup olmadığını kontrol etmek için?

Bu sql var:

ALTER TABLE dbo.ChannelPlayerSkins
    DROP CONSTRAINT FK_ChannelPlayerSkins_Channels

ama görünüşe göre, kullandığımız bazı diğer veritabanları üzerinde kısıtlama farklı bir adı vardır. Nasıl olursa adını FK_ChannelPlayerSkins_Channels ile ilgili bir sınırlama varsa orada kontrol edebilirim.

CEVAP
23 Mart 2010, Salı


bunu deneyin:

SELECT
    * 
    FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS 
    WHERE CONSTRAINT_NAME ='FK_ChannelPlayerSkins_Channels'

-- -- DÜZENLEYİN

Ben aslında bu soruya cevap verdiğinde, düşünüyordum da, "Yabancı Anahtar özgün soru ile ilgili bulmak istedi çünkü""". FK_ChannelPlayerSkins_Channels O zaman pek çok insan diğer "kısıtlamalar" işte bunun için başka bir sorgu . bulma yorumladı beri

--Returns one row for each CHECK, UNIQUE, PRIMARY KEY, and/or FOREIGN KEY
SELECT * 
    FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
    WHERE CONSTRAINT_NAME='XYZ'  


--Returns one row for each FOREIGN KEY constrain
SELECT * 
    FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS 
    WHERE CONSTRAINT_NAME='XYZ'


--Returns one row for each CHECK constraint 
SELECT * 
    FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS
    WHERE CONSTRAINT_NAME='XYZ'

burada alternatif bir yöntem

--Returns 1 row for each CHECK, UNIQUE, PRIMARY KEY, FOREIGN KEY, and/or DEFAULT
SELECT 
    OBJECT_NAME(OBJECT_ID) AS NameofConstraint
        ,SCHEMA_NAME(schema_id) AS SchemaName
        ,OBJECT_NAME(parent_object_id) AS TableName
        ,type_desc AS ConstraintType
    FROM sys.objects
    WHERE type_desc LIKE '%CONSTRAINT'
        AND OBJECT_NAME(OBJECT_ID)='XYZ'

Eğer daha fazla kısıtlama bilgiye ihtiyacınız varsa, sistem saklı yordamı master.sys.sp_helpconstraint içine bazı bilgiler almak için nasıl görmek için sabırsızlanıyoruz. Kod SQL Server Management Studio kullanarak girmek kaynağını görüntüle "Object Explorer". Bu genişletin oradan "" veritabanı genişletin "Programlama", "Saklı Yordamları", sonra "Sistem Saklı Yordamları". Usta Sonra "sys.bulabilirsiniz"ve sağ tıklayın ve seçin "değiştirin. sp_helpconstraint Herhangi bir değişiklik kurtarmak değil, sadece dikkatli ol. Ayrıca, sadece EXEC sp_helpconstraint YourTableNameHere gibi kullanarak bir tablo üzerinde bu sistem saklı yordamını kullanabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AndyMcMillinTV

    AndyMcMillin

    6 HAZİRAN 2007
  • George McCarron

    George McCar

    29 Mayıs 2013
  • Jeremy Gallman

    Jeremy Gallm

    11 NİSAN 2012