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