我正在设计一个供 Web 应用程序使用的表,我的框架要求主键是代理键。但我还需要一个额外的字段,它将是其他 2 个字段的组合。换句话说:
Id -> Primary key
OrderNumber
OrderDate
UniqueOrderNumber -> a composite of OrderNumber and OrderDate
Run Code Online (Sandbox Code Playgroud)
UniqueOrderNumber 应该是由 OrderNumber 和 OrderDate 合并生成的字符串。这个新字段随后将用于某些需要唯一 OrderNumber 的查询。
我想避免在应用程序中处理这个逻辑,因为我觉得这应该是数据库的工作。有没有办法让数据库通过连接 OrderNumber 和 OrderDate 的值来自动生成这个 UniqueOrderNumber 字段?
您可以为此利用计算列。所以你的创建表看起来像:
CREATE TABLE foo
(ID int not null,
OrderNumber int not null,
OrderDate datetime not null,
UniqueOrderNumber AS
(CONVERT(varchar(20),OrderNumber) + ":" + CONVERT(varchar(20),OrderDate,112))
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4961 次 |
| 最近记录: |