我有一张桌子,里面放着两种类型的笔记。提货单和交货单。它们是相同的数据结构,因此使用相同的表。
CREATE TABLE Notes (
Id int IDENTITY(1,1) NOT NULL,
Type int NOT NULL,
CustomerId int NOT NULL,
-- etc
)
Run Code Online (Sandbox Code Playgroud)
我正在将数据从旧系统迁移到此表中,并且要求收款和交付票据具有自己的序列号。
我之前已经实现了两个序列表
CREATE TABLE CollectionNoteSequence (
Id int IDENTITY(1,1) NOT NULL,
NoteId int NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
其中该Id
列是收藏笔记的唯一顺序 ID,然后是 NoteId 外键的 to Notes.Id
。
现在是进行最终(真实)数据迁移的时候了,而且这种设置似乎很难使用。
有没有办法可以将两个序列表合并并NoteNo
在 Notes 表中添加一个字段,以便NoteNo
根据Note.Type
? 这是复合键还是什么?
新表可能看起来像
CREATE TABLE Notes (
Id int IDENTITY(1,1) NOT NULL,
NoteNo int NOT NULL,
Type int NOT NULL,
CustomerId int NOT NULL,
-- …
Run Code Online (Sandbox Code Playgroud)