【发布时间】:2014-09-30 08:08:57
【问题描述】:
我的架构有 3 个级别,如下所示:
触发器
TRIGGER_ID (PK), TARGET_GROUP_SERIAL, EVENT_ID, START_DATE, END_DATE, MEASURE_FIELD, IS_ACTIVE, PRIORITY
触发动作
TRIGGER_ID, TRIGGER_DETAIL_ID (PK + Identity Insert), ACTION_ID, ISOLATION_VOLUME
动作频道
TRIGGER_DETAIL_ID (PK), EXECUTION_METHOD_ID
现在,我的输入是一个 XML 文件,我需要将它合并到 DB 架构中,XML 如下所示,
请注意,如果 XML 在 RealTimeTrigger 中不包含 TriggerID,则表示新触发器,当 ActionDetailId = 0 时表示新动作
有什么建议吗?
<?xml version="1.0" encoding="utf-16"?>
<ArrayOfRealTimeTrigger xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<RealTimeTrigger>
<TargetGroupSerial>3</TargetGroupSerial>
<ClientTriggerId>1</ClientTriggerId>
<StartDate>2014-08-06T00:00:00</StartDate>
<EndDate>2014-09-03T00:00:00</EndDate>
<MeasureField>FIELD4</MeasureField>
<IsActive>true</IsActive>
<Priority>999</Priority>
<ControlGroupPercentage>20</ControlGroupPercentage>
<Actions>
<RealTimeAction>
<ActionDetailId>0</ActionDetailId>
<Id>12</Id>
<Channels>
<Channel>
<ChannelId>100</ChannelId>
<ChannelId>201</ChannelId>
</Channel>
</Channels>
<ActionPrecentage>40</ActionPrecentage>
</RealTimeAction>
<RealTimeAction>
<ActionDetailId>0</ActionDetailId>
<Id>13</Id>
<Channels>
<Channel>
<ChannelId>100</ChannelId>
<ChannelId>201</ChannelId>
</Channel>
</Channels>
<ActionPrecentage>40</ActionPrecentage>
</RealTimeAction>
</Actions>
</RealTimeTrigger>
</ArrayOfRealTimeTrigger>'
【问题讨论】:
标签: sql sql-server xml merge