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

Cara Mengubah Kolom dari Null menjadi Tidak Null di Tabel SQL Server - Tutorial SQL Server / T-SQL Part 52

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 null
 Bisnis 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 Null
 
 Sekarang Anda siap untuk mengubah kolom dalam tabel dari Null ke Not Null. 
Alter Table dbo.Customer
Alter Column LastName VARCHAR(50) Not Null




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan informasi tanggal/waktu dari kolom TIMESTAMP?

  2. Pisahkan satu kolom menjadi beberapa baris

  3. Kumpulkan Data Kinerja Menggunakan Alat SQLDiag | Pemecahan Masalah Kinerja SQL Server -6

  4. Cara Menggunakan Pernyataan GO di SQL Server Untuk Menyisipkan Catatan di Kolom Identitas - Tutorial SQL Server / T-SQL Bagian 42

  5. Permintaan SQL untuk menemukan gaji tertinggi ke-N dari tabel gaji