我有一个名为服务条目的表。在服务条目中,可能有多个部分。因此,表服务条目部分将为每个部分都有一行。零件存储在零件表中。服务条目表有一个逗号分隔列,其中包含用于在页面上显示的部件信息。
Dbo.Part
ID PartDescription
270 Syringe assembly
282 LPH pcb
287 Valve block assembly
Dbo.ServiceEntry
ServiceEntryID, Description
1200 270 ~ Syringe assembly ~ 7,3 ~ Increase drive current from 3 --> 1.|282 ~ LPH pcb ~ 8 ~ | 287 ~ Valve block
assembly ~ null ~
在上面这里是列的结构:
PartID ~ PartDescription ~ ServiceType ~ Comment
对于多个部分,添加此字符|
并重复结构。
ServiceEntryPart
ID ServiceEntryID PartID ServiceTypev Comment
1 1200 270 7,3 Increase drive current from 3
2 1200 282 8
3 1200 287 null
问题
Dbo.Part
ID PartDescription OldID
331 Syringe assembly 270
335 LPH pcb 282
336 Valve block assembly 287
因此,如果您查看上面的部分表,发生的事情是部件表正在更新。将添加新零件,对于现有零件,它们的ID将更新为新的ID,并且可能会有新的零件描述。如您所见,具有列部分描述的服务条目表将不会与之前创建的服务条目同步。我要做的是使用新的部件ID及其dcescriptions更新现有的服务条目部件表,最后更新服务条目表中名为部件描述的列。更新服务条目部分表很简单,但问题是我如何更新服务条目表中的delimeted列。
答案 0 :(得分:0)
如果我理解正确,您正在处理包含多个分隔值的列(如PICK数据库):
`For multiple parts, this character | is added and the structure is repeated.`
通常,在规范化的数据库中,可以有:
UNIT (something that might need service or repair)
UnitId PK
UnitDescription
PARTS (repair / replacement parts)
PartId PK
PartDescription
UNIT_SERVICES (instances of repair visits/ service)
ServiceID int primary key
UnitId foreign key references UNIT
ServiceDate
TechnicianID
etc
SERVICE_PART (part used in the service)
ID primary key
ServiceID foreign key references SERVICE
PartID foreign key references PART
Quantity
可能存在与UNIT关联的零个,一个或多个UNIT_SERVICES。 可能存在与SERVICE关联的零个,一个或多个SERVICE_PARTS。
在规范化数据库中,单元服务中使用的每个部分都将存在于SERVICE_PART表中的各自行中。我们在同一个SERVICE_PART元组中找不到两个或多个部分,用一些分隔符分隔,就像在所谓的多值数据库中一样,它们是现代OODBMS的前身。