Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara memeriksa apakah ada Kendala di server Sql?

coba ini:

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

-- EDIT --

Ketika saya awalnya menjawab pertanyaan ini, saya berpikir "Kunci Asing" karena pertanyaan awal menanyakan tentang menemukan "FK_ChannelPlayerSkins_Channels". Sejak itu banyak orang berkomentar tentang menemukan "kendala" lain di sini adalah beberapa pertanyaan lain untuk itu:

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

berikut adalah metode alternatif

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

Jika Anda memerlukan lebih banyak informasi kendala, lihat ke dalam prosedur tersimpan sistem master.sys.sp_helpconstraint untuk melihat bagaimana mendapatkan informasi tertentu. Untuk melihat kode sumber menggunakan SQL Server Management Studio masuk ke "Object Explorer". Dari sana Anda memperluas database "Master", lalu memperluas "Programmabilitas", lalu "Prosedur Tersimpan", lalu "Prosedur Tersimpan Sistem". Anda kemudian dapat menemukan "sys.sp_helpconstraint" dan klik kanan dan pilih "modify". Berhati-hatilah untuk tidak menyimpan perubahan apa pun padanya. Selain itu, Anda dapat menggunakan prosedur tersimpan sistem ini pada tabel mana pun dengan menggunakannya seperti EXEC sp_helpconstraint YourTableNameHere .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ExecuteNonQuery mengembalikan -1 saat menggunakan sql COUNT meskipun ada string kueri

  2. SQL Server String atau data biner akan terpotong

  3. Jalankan prosedur tersimpan di prosedur tersimpan lain di server SQL

  4. dapatkan string yang dipisahkan koma dari baris

  5. Apakah mungkin untuk melakukan banyak pembaruan dengan satu pernyataan SQL UPDATE?