Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Ràng buộc mặc định trong SQL Server là gì - Hướng dẫn sử dụng SQL Server / TSQL Phần 90

Ràng buộc mặc định trong SQL Server là gì:

Ràng buộc Mặc định sẽ chèn giá trị mặc định vào một cột khi bạn không cung cấp giá trị cho cột.
Hãy hiểu bằng cách sử dụng các ví dụ dưới đây.

Tình huống:

Giả sử bạn cần tạo một bảng dbo.Customer với Tên, Họ, Tên quốc gia và Khu vực. Nếu người dùng không cung cấp các giá trị cho Cột Tên Quốc gia và Vùng mà bạn luôn muốn chèn Tên Quốc gia ='Hoa Kỳ' và cho Vùng ='Bắc Mỹ'.
Tập lệnh dưới đây có thể được sử dụng để tạo Ràng buộc Mặc định cho các cột Tên quốc gia và Vùng.

USE YourDatabaseName
GO
CREATE TABLE dbo.Customer (
    FirstName VARCHAR(50)
    ,LastName VARCHAR(50)
    ,CountryName VARCHAR(50) DEFAULT 'USA'
    ,Region VARCHAR(50) DEFAULT 'North America'
    )
Bây giờ, hãy chèn một vài bản ghi bằng cách cung cấp giá trị cho tất cả các cột bằng cách sử dụng câu lệnh chèn bên dưới.
--Insert some sample data by provided CountryName and Region
Insert into dbo.Customer (FirstName,LastName,CountryName,Region)
Values('Aamir','Shahzad','Pakistan','Asia')
go
Insert into dbo.Customer (FirstName,LastName,CountryName,Region)
Values('Sukhjeet','Singh','India','Asia')
go


Bây giờ chỉ chèn các giá trị trong cột Họ và Tên. Vì chúng tôi đã tạo Ràng buộc mặc định về Tên quốc gia và Khu vực, nên nó sẽ tự động chèn CountryName ='USA' và Region ='North America'.
Insert into dbo.Customer(FirstName,LastName)
Values ('John','Smith')
go

Insert into dbo.Customer(FirstName,LastName)
Values ('Christy','Ladson')
 
 
 Hãy kiểm tra dữ liệu trong bảng dbo.Customer để đảm bảo các Ràng buộc Mặc định của chúng tôi đang hoạt động như mong đợi. 
Select * from  dbo.Customer
 
Cách tạo Ràng buộc Mặc định trong SQL Server
 Khi chúng tôi tạo Ràng buộc Mặc định, chúng tôi không cung cấp bất kỳ tên nào, hãy kiểm tra xem SQL Server đã đặt tên cho chúng bằng cách sử dụng sys.objects 
--Get the Constraint Names in SQL Server
Select * from sys.objects
where type_desc='DEFAULT_CONSTRAINT'
 
Cách kiểm tra thông tin Ràng buộc Mặc định trong SQL Server
 Nếu công ty của bạn đang sử dụng một số tiêu chuẩn đặt tên và bạn muốn tạo ràng buộc mặc định với các tiêu chuẩn đó, bạn có thể chỉ định tên trong khi tạo chúng. Tôi đang sử dụng để sử dụng DF_SchemaName_TableName_ColumnName cho tên ràng buộc của mình như được hiển thị bên dưới. 
use YourDatabaseName
Go
Create Table dbo.tblCustomer
(
FirstName VARCHAR(50),
LastName VARCHAR(50),
CountryName VARCHAR(50) Constraint DF_dbo_tblCustomer_CountryName Default  'USA' ,
Region VARCHAR(50) Constraint  DF_dbo_tblCustomer_Region default 'North America')
 
Hãy chạy truy vấn trên sys.objects một lần nữa để lấy tên Ràng buộc mặc định với tên Bảng.
--Get the Constraint Names in SQL Server
Select name,object_name(Parent_object_id) 
as TableName from sys.objects
where type_desc='DEFAULT_CONSTRAINT'
 
Cách tạo Ràng buộc Mặc định với Tên trong SQL Server
 
Video Demo:Ràng buộc Mặc định trong SQL Server là gì và cách tạo Ràng buộc Mặc định





  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để kết nối với Sql Server từ máy Mac có PHP PDO?

  2. Khôi phục SQL Server 2017

  3. SQL Server Internals:Các toán tử có vấn đề Pt. Tôi - Quét

  4. SQL Server 2005 ROW_NUMBER () không có ORDER BY

  5. Đạt đến giới hạn tham số 2100 (SQL Server) khi sử dụng Chứa ()