sql >> Databáze >  >> RDS >> Sqlserver

Jak zkontrolovat, zda na serveru SQL existuje omezení?

zkuste toto:

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

-- UPRAVIT --

Když jsem původně odpověděl na tuto otázku, myslel jsem na „Zahraniční klíč“, protože původní otázka se týkala hledání „FK_ChannelPlayerSkins_Channels“. Od té doby se mnoho lidí vyjádřilo k nalezení dalších „omezení“, zde jsou některé další dotazy k tomu:

--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'

zde je alternativní metoda

--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'

Pokud potřebujete ještě více informací o omezeních, podívejte se do systémové uložené procedury master.sys.sp_helpconstraint abyste viděli, jak získat určité informace. Chcete-li zobrazit zdrojový kód pomocí SQL Server Management Studio, přejděte do "Průzkumníka objektů". Odtud rozbalte databázi "Master", pak rozbalte "Programovatelnost", potom "Uložené procedury" a poté "Systémové uložené procedury". Poté můžete najít "sys.sp_helpconstraint" a kliknout na něj pravým tlačítkem a vybrat "upravit". Dejte si pozor, abyste do něj neuložili žádné změny. Tuto systémovou uloženou proceduru můžete také použít na libovolné tabulce pomocí jako EXEC sp_helpconstraint YourTableNameHere .



  1. Ukládání obrázků do polí bajtů v databázi PostgreSQL

  2. aktualizace a komprimace databáze sqlite v systému Android

  3. Jak náhodně nastavit text na tlačítka z SQLite bez opakování?

  4. Rozdělení řetězce na serveru SQL