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

Tidak Dapat Menyelesaikan Konflik Pengumpulan

Hal tentang collations adalah bahwa meskipun database memiliki collation sendiri, setiap tabel, dan setiap kolom dapat memiliki collation sendiri. Jika tidak ditentukan, ia mengambil default dari objek induknya, tetapi bisa berbeda.

Saat Anda mengubah susunan database, itu akan menjadi default baru untuk semua tabel dan kolom baru, tetapi itu tidak mengubah susunan objek yang ada di dalam database. Anda harus pergi dan mengubah secara manual susunan setiap tabel dan kolom.

Untungnya ada skrip yang tersedia di internet yang dapat melakukan pekerjaan itu. Saya tidak akan merekomendasikan apa pun karena saya belum mencobanya tetapi di sini ada beberapa tautan:

http://www.codeproject.com/Articles/302405/The-Easy-way-of-changing-Collation-of-all-Database

Perbarui Pengumpulan semua bidang dalam basis data dengan cepat

http://www.sqlservercentral.com/Forums/Topic820675-146-1.aspx

Jika Anda perlu memiliki susunan yang berbeda pada dua objek atau tidak dapat mengubah susunan - Anda masih dapat JOIN di antara mereka menggunakan COLLATE perintah, dan memilih susunan yang Anda inginkan untuk bergabung.

SELECT * FROM A JOIN B ON A.Text = B.Text COLLATE Latin1_General_CI_AS 

atau menggunakan susunan basis data default:

SELECT * FROM A JOIN B ON A.Text = B.Text COLLATE DATABASE_DEFAULT



  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 Memperbaiki "nama profil tidak valid" Saat Memperbarui Profil Email Database di SQL Server (T-SQL)

  2. Metode Pilihan untuk Menyimpan Kata Sandi Dalam Basis Data

  3. Pivot dinamis T-SQL

  4. 3 Cara Mengembalikan String Beberapa Spasi di SQL Server

  5. Bagaimana cara melakukan pencarian peka huruf besar-kecil di klausa WHERE (saya menggunakan SQL Server)?