Skenario:
Anda bekerja sebagai pengembang SQL Server dengan Bank. Mereka memiliki tabel Dbo.Customer di database TechBrothersIT dengan definisi di bawah ini.Create Table dbo.Customer (FirstName VARCHAR(50) Not Null, LastName VARCHAR(50), Age SmallInt, PhoneNumber CHAR(9), DOB Date, Gender CHAR(1) )Seperti yang Anda perhatikan bahwa LastName bisa menjadi Null. Itulah masalahnya. Perusahaan memperhatikan itu nanti dan selalu ingin memiliki nilai untuk NamaBelakang. Anda diminta untuk melakukan analisa dan menulis script Alter to Change Column dari Null menjadi Not Null. Hal-hal apa yang akan Anda pertimbangkan atau saran yang akan Anda berikan?
Solusi:
Hal pertama yang perlu dipertimbangkan dalam skenario ini adalah mencari tahu apakah ada nilai yang sudah dimasukkan ke dalam tabel untuk Nama Belakang sebagai Null. Jika demikian, Anda tidak dapat melanjutkan dan Mengubah kolom dari Null menjadi Not Null. Jika Anda mencoba , Anda akan mendapatkan error di bawah ini.Msg 515, Level 16, State 2, Line 14Cannot insert value NULL ke kolom 'LastName', table 'TechBrothersIT.dbo.Customer'; kolom tidak mengizinkan nol. UPDATE gagal.
Artinya kita harus berurusan dengan nilai Null di kolom ini terlebih dahulu. Anda dapat berbicara dengan bisnis dan bertanya kepada mereka apa yang ingin mereka lakukan untuk semua pelanggan di mana Nama Belakang adalah Null. Anda dapat menemukan daftar pelanggan dengan Nama Belakang Null dengan menggunakan kueri di bawah ini.
Select * From dbo.Customer where LastName Is nullBisnis dapat memberikan saran yang berbeda seperti Mari perbarui Nama Belakang ke Tidak Tahu di mana NullAtau Perbarui Nama Belakang menjadi kosong('') jika NullAtau Perbarui kolom Nama Belakang menjadi LNNP (Nama Belakang Tidak Diberikan)Atau mereka kembali ke pelanggan dan mendapatkan Nama belakang mereka untuk diperbarui
Tergantung pada saran, lanjutkan dan perbarui nilai di kolom Nama Belakang. Katakanlah kita memutuskan untuk memperbarui menjadi kosong '', kita dapat menggunakan kueri di bawah ini untuk memperbarui
update dbo.Customer set LastName='' where LastName is NullSekarang Anda siap untuk mengubah kolom dalam tabel dari Null ke Not Null.
Alter Table dbo.Customer Alter Column LastName VARCHAR(50) Not Null