Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Co to jest domyślne ograniczenie w programie SQL Server — samouczek dotyczący programu SQL Server / TSQL — część 90

Co to jest domyślne ograniczenie w SQL Server:

Ograniczenie domyślne wstawia wartość domyślną do kolumny, gdy nie podasz wartości dla kolumny.
Zrozummy, korzystając z poniższych przykładów.

Scenariusz:

Załóżmy, że musisz utworzyć tabelę dbo.Customer z imieniem, nazwiskiem, nazwą kraju i regionem. Jeśli użytkownik nie poda wartości w kolumnach Nazwa kraju i Region, zawsze chcesz wstawić Country Name='USA' i Region='North America'.
Poniższy skrypt może zostać użyty do utworzenia domyślnego ograniczenia dla kolumn Country Name i Region.

USE YourDatabaseName
GO
CREATE TABLE dbo.Customer (
    FirstName VARCHAR(50)
    ,LastName VARCHAR(50)
    ,CountryName VARCHAR(50) DEFAULT 'USA'
    ,Region VARCHAR(50) DEFAULT 'North America'
    )



Teraz wstaw kilka rekordów, podając wartości dla wszystkich kolumn, korzystając z poniższych instrukcji insert.
--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


Teraz wstawiaj tylko wartości w kolumnach Imię i Nazwisko. Ponieważ utworzyliśmy domyślne ograniczenie nazwy kraju i regionu, powinno ono automatycznie wstawić CountryName='USA' i Region='Ameryka Północna'.
Insert into dbo.Customer(FirstName,LastName)
Values ('John','Smith')
go

Insert into dbo.Customer(FirstName,LastName)
Values ('Christy','Ladson')
 
 
 Sprawdźmy dane w tabeli dbo.Customer, aby upewnić się, że nasze ograniczenia domyślne działają zgodnie z oczekiwaniami.
Select * from  dbo.Customer
 
Jak utworzyć domyślne ograniczenie w SQL Server
 Kiedy tworzyliśmy domyślne ograniczenia, nie podaliśmy żadnej nazwy, sprawdźmy, jakie nazwy nadał im SQL Server, używając sys.objects
--Get the Constraint Names in SQL Server
Select * from sys.objects
where type_desc='DEFAULT_CONSTRAINT'
 
Jak sprawdzić informacje o domyślnych ograniczeniach w SQL Server
 Jeśli Twoja firma korzysta z pewnych standardów nazewnictwa i chcesz utworzyć domyślne ograniczenie z tymi standardami, możesz określić nazwę podczas ich tworzenia. Używam DF_SchemaName_TableName_ColumnName jako nazwy ograniczenia, jak pokazano poniżej.
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')
 
Uruchommy zapytanie na sys.objects jeszcze raz, aby uzyskać nazwę domyślnego ograniczenia z nazwą tabeli.
--Get the Constraint Names in SQL Server
Select name,object_name(Parent_object_id) 
as TableName from sys.objects
where type_desc='DEFAULT_CONSTRAINT'
 
Jak utworzyć domyślne ograniczenie z nazwą w SQL Server
 
Wideo demonstracyjne:co to jest ograniczenie domyślne w programie SQL Server i jak utworzyć ograniczenie domyślne






  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstaw SqlBulkCopy z kolumną tożsamości

  2. Jak uzyskać definicję kolumny wyliczanej w SQL Server za pomocą T-SQL

  3. Jak włączyć przechwytywanie zmian danych (CDC) w bazie danych w programie SQL Server — samouczek dotyczący programu SQL Server

  4. Jak korzystać z właściwości IDENTITY() w SQL Server

  5. Wewnętrzne elementy SQL Server:Plan Caching Pt. I – Ponowne wykorzystanie planów