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

Bagaimana cara menjatuhkan daftar tabel SQL Server, mengabaikan kendala?

Itu tergantung pada bagaimana Anda ingin menjatuhkan tabel. Jika daftar tabel perlu dihapus, tutup hampir di atas 20% tabel di bawah DB Anda.

Kemudian saya akan menonaktifkan semua batasan dalam DB itu di bawah skrip saya dan meletakkan tabel dan Mengaktifkan batasan di bawah skrip yang sama.

--To Disable a Constraint at DB level

EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'

--Write the code to DROP tables

DROP TABLE TABLENAME

DROP TABLE TABLENAME

DROP TABLE TABLENAME

--To Enable a Constraint at DB level

EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'

Terakhir untuk memeriksa Status kendala Anda, jalankan Kueri ini.

--Checks the Status of Constraints

SELECT (CASE 
    WHEN OBJECTPROPERTY(CONSTID, 'CNSTISDISABLED') = 0 THEN 'ENABLED'
    ELSE 'DISABLED'
    END) AS STATUS,
    OBJECT_NAME(CONSTID) AS CONSTRAINT_NAME,
    OBJECT_NAME(FKEYID) AS TABLE_NAME,
    COL_NAME(FKEYID, FKEY) AS COLUMN_NAME,
    OBJECT_NAME(RKEYID) AS REFERENCED_TABLE_NAME,
    COL_NAME(RKEYID, RKEY) AS REFERENCED_COLUMN_NAME
FROM SYSFOREIGNKEYS
ORDER BY TABLE_NAME, CONSTRAINT_NAME,REFERENCED_TABLE_NAME, KEYNO

Jika Anda tidak ingin menonaktifkan batasan pada level Database, buatlah daftar tabel yang ingin Anda hapus.

Langkah1 :Periksa Batasan yang terkait dengan tabel tersebut

SELECT * 
FROM sys.foreign_keys
WHERE referenced_object_id = object_id('dbo.Tablename')

Langkah2 :Nonaktifkan Batasan yang terkait dengan tabel ini.

ALTER TABLE MyTable NOCHECK CONSTRAINT MyConstraint

Langkah3 :Jatuhkan tabel

DROP TABLE TABLENAME


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memasukkan nilai Ibrani di SQL Server 2008

  2. grup sql hanya dengan baris yang berurutan

  3. Eksekusi SQL Dinamis di SQL Server

  4. Tanggal/waktu catatan MSSQL hapus otomatis

  5. Apa itu SQL Operations Studio (SQLOPS)?