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

Bagaimana cara menonaktifkan Batasan untuk semua tabel dan mengaktifkannya?

EXEC sp_MSforeachtable @command1="ALTER TABLE ? NOCHECK CONSTRAINT ALL"
GO

Anda mungkin juga ingin melakukan ini:

EXEC sp_MSforeachtable @command1="ALTER TABLE ? DISABLE TRIGGER ALL"
GO

Untuk mengaktifkannya setelahnya

EXEC sp_MSforeachtable @command1="ALTER TABLE ? ENABLE TRIGGER ALL"
GO

-- SQL enable all constraints - enable all constraints sql server
-- sp_MSforeachtable is an undocumented system stored procedure
EXEC sp_MSforeachtable @command1="ALTER TABLE ? CHECK CONSTRAINT ALL"
GO

Sunting:
Jika menonaktifkan batasan tidak cukup, Anda harus menghapus batasan.

Jika Anda menjatuhkan dan membuat ulang tabel, Anda harus membuat ulang batasan kunci asing setelahnya.

Jika Anda hanya perlu menghilangkan batasan, Anda mungkin menemukan ini berguna:
batasan kunci asing SQL DROP TABLE

Jika Anda perlu menulis skrip untuk menghapus dan membuat batasan, Anda mungkin menemukan posting saya di sini lebih berguna:
SQL Server:Bagaimana cara mendapatkan referensi kunci asing dari information_schema?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menjumlahkan Akun

  2. Mengapa saya tidak bisa menggunakan alias untuk agregat dalam klausa yang memiliki?

  3. Mengembalikan Daftar Skema Partisi di SQL Server (T-SQL)

  4. Sortir Alfanumerik

  5. Tampilan Terindeks dan Kiri Bergabung sekali dan untuk selamanya