Saya secara massal memperbarui database SQL Server. Saya mengubah semua numeric(38,0)
kolom kami menjadi int
(ya, skrip SQL Server dibuat dari skrip Oracle) . Menggunakan SMO dan C # (saya seorang insinyur sw) , saya berhasil membuat skrip yang sangat bagus seperti studio SQL Server Management . Semuanya bekerja dengan sangat baik kecuali untuk satu masalah tertentu:
untuk beberapa tabel, ketika saya menyebutnya ALTER TABLE [myTable] ALTER COLUMN [columnA] INT
memutuskan juga mengubah kolom dari NOT NULL to NULL
. Itu tentu saja merupakan masalah besar karena saya perlu membuat ulang kunci utama untuk sebagian besar tabel di kolom-kolom tertentu.
Jelas, saya memiliki banyak pilihan menggunakan SMO untuk mengetahui kolom mana yang merupakan kunci utama dan memaksa mereka untuk TIDAK NULL setelah atau saat saya memperbarui tipe data, tetapi saya benar-benar ingin tahu apa yang dapat menyebabkan ini.