【发布时间】:2014-10-24 15:25:55
【问题描述】:
我不知道这是否可能,但我想知道当我们创建一个字段具有默认值的表时,我们是否可以让这个默认值在插入行时获取另一列的值。
Create Table Countries (
ID Int Not Null Identity(1,1),
CountryCode Char (2) Not Null,
Country Varchar (50) Not Null,
CountryRegion Varchar (50) Null Default ('Country'),
Nationality Varchar (75) Not Null Default ('Not Known'),
InsertDate Datetime2 Not Null Default Getdate(),
Constraint PK_CountryCode Primary Key (CountryCode));
在 CountryRegion 字段上,我可以放置一个('Unknown')默认值,但就像我说的,如果没有放置任何内容,该字段是否有可能默认插入 Country 字段中的值?
【问题讨论】:
-
您可以使用触发器来执行此操作。换句话说,在插入之前,如果该字段为空,则将其设置为另一个字段中的值。
-
触发器往往会使数据库难以维护。我会在应用层解决这个问题。
标签: sql sql-server default-value