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

Apa Batasan Unik di SQL Server - Tutorial SQL Server / TSQL Bagian 95

Apa itu Batasan Unik di SQL Server:

Batasan Unik di SQL Server dibuat pada kolom atau kolom untuk membatasi kolom agar hanya menerima nilai unik.
Hanya nilai Null tunggal yang diizinkan di kolom tempat Batasan Unik dibuat.

Skenario:

Katakanlah Anda bekerja sebagai pengembang SQL Server untuk perusahaan asuransi, Anda diminta untuk membuat tabel dbo.Pelanggan yang harus memiliki kolom SSN dan harus selalu menerima nilai Unik.


Solusi:

Untuk skenario di atas, kita dapat menggunakan Unique Constraint pada Kolom SSN. Skrip di bawah ini dapat digunakan untuk membuat batasan unik pada kolom.
USE [YourDatabaseName]
GO
CREATE TABLE [dbo].[Customer](
    [FirstName] [varchar](50) NULL,
    [LastName] [varchar](50) NULL,
    [SSN] VARCHAR(11),
    Unique(SSN)
) 

--Insert sample records in table 
Insert into dbo.Customer(FirstName,LastName,SSN)
Values('Raza','M',Null)
,('Aamir','Shahzad','000-00-0001')
,('Aamir','Shahzad','000-00-0002')
 
 
Cek data pada tabel dbo.Customer dengan menggunakan Select query
Cara menambahkan Batasan Unik pada Kolom di SQL Server

Mari kita gunakan tampilan sistem untuk memeriksa apakah Batasan Unik telah ditambahkan dan nama apa yang diberikan SQL Server padanya.
SELECT *
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'UNIQUE'
 
Cara menambahkan Batasan Unik di SQL Server
 Seperti yang kita lihat bahwa SQL Server telah memberikan nama "UQ__Customer__CA1E8E3C7E8AFCB1" ke Unique Constraint. Jika kita ingin menerapkan beberapa konvensi penamaan maka kita harus memberikan nama sendiri.
Jika kita mencoba memasukkan nilai yang sudah ada di kolom Unique Constraint, kita akan mendapatkan error di bawah ini.
Insert into dbo.Customer(FirstName,LastName,SSN)
Values('Raza','M',Null)
 
 Msg 2627, Level 14, State 1, Line 11
Pelanggaran batasan UNIQUE KEY 'UQ__Customer__CA1E8E3C7E8AFCB1'. Tidak dapat memasukkan kunci duplikat di objek 'dbo.Customer'. Nilai kunci duplikatnya adalah ().
Pernyataan telah dihentikan.

Jika Anda ingin membuat Unique Constraint dengan beberapa konvensi penamaan, kita dapat menggunakan sintaks di bawah ini.

USE [YourDatabaseName]
GO
CREATE TABLE [dbo].[Customer](
    [FirstName] [varchar](50) NULL,
    [LastName] [varchar](50) NULL,
    [SSN] VARCHAR(11),
    Constraint UQ_Dbo_Customer_SSN Unique(SSN)
) 
 


Video Demo :Apa itu Unique Constraint di SQL Server





  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ubah 'smalldatetime' menjadi 'date' di SQL Server (Contoh T-SQL)

  2. Kesalahan 28000:Gagal masuk untuk pengguna DOMAIN\\pengguna dengan pyodbc

  3. Cara Mengatur Bahasa Default untuk Semua Login Baru di SQL Server (T-SQL)

  4. Cara Mengaktifkan CDC di Kumpulan Tabel ATAU Mengaktifkan Semua Tabel di Database di SQL Server - Tutorial SQL Server

  5. Kesalahan fatal:Panggilan ke fungsi yang tidak ditentukan sqlsrv_connect()