【发布时间】:2016-02-07 02:47:29
【问题描述】:
我想从 Oracle 中的 XML 中删除一个节点。我在删除节点时遇到问题:
下面是我的 XML:
</TRB_TRX>
<DATA>
<Request APIType="null">
<SubscriberIdsInfo>
<ExternalId>
<ExternalId>8034204058</ExternalId>
</ExternalId>
<SubscriberId>
<SubscrNumber/>
</SubscriberId>
</SubscriberIdsInfo>
<Services>
<Soc>88371664</Soc>
<ServiceAgreementSequenceNo/>
<DealerCode/>
<DeployMode/>
<EffectiveDate>2014-10-16T00:00:00</EffectiveDate>
<ExpirationDate/>
<OfferInstanceId/>
</Services>
<Services>
<Soc>911143659</Soc>
<ServiceAgreementSequenceNo/>
<DealerCode/>
<DeployMode/>
<EffectiveDate>2014-10-16T00:00:00</EffectiveDate>
<ExpirationDate/>
<OfferInstanceId/>
</Services>
<Services>
<Soc>42132</Soc>
<ServiceAgreementSequenceNo/>
<DealerCode/>
<DeployMode/>
<EffectiveDate>2014-10-16T00:00:00</EffectiveDate>
<ExpirationDate/>
<OfferInstanceId/>
</Services>
<SubParameters>
<Name>PoolID</Name>
<Values>B287024769280MDVCPOOL</Values>
<EffectiveDate>2014-10-16T14:08:37</EffectiveDate>
<ExpirationDate/>
</SubParameters>
<ActivityInfo/>
</Request>
</DATA>
</TRB_TRX>
我想在下面删除
<Services>
<Soc>88371664</Soc>
<ServiceAgreementSequenceNo/>
<DealerCode/>
<DeployMode/>
<EffectiveDate>2014-10-16T00:00:00</EffectiveDate>
<ExpirationDate/>
<OfferInstanceId/>
</Services>
<Services>
和
<Services>
<Soc>88371664</Soc>
<ServiceAgreementSequenceNo/>
<DealerCode/>
<DeployMode/>
<EffectiveDate>2014-10-16T00:00:00</EffectiveDate>
<ExpirationDate/>
<OfferInstanceId/>
</Services>
<Services>
我的最终输出应该如下所示
</TRB_TRX>
<DATA>
<Request APIType="null">
<SubscriberIdsInfo>
<ExternalId>
<ExternalId>8034204058</ExternalId>
</ExternalId>
<SubscriberId>
<SubscrNumber/>
</SubscriberId>
</SubscriberIdsInfo>
<Services>
<Soc>911143659</Soc>
<ServiceAgreementSequenceNo/>
<DealerCode/>
<DeployMode/>
<EffectiveDate>2014-10-16T00:00:00</EffectiveDate>
<ExpirationDate/>
<OfferInstanceId/>
</Services>
<SubParameters>
<Name>PoolID</Name>
<Values>B287024769280MDVCPOOL</Values>
<EffectiveDate>2014-10-16T14:08:37</EffectiveDate>
<ExpirationDate/>
</SubParameters>
<ActivityInfo/>
</Request>
</DATA>
</TRB_TRX>
我正在使用下面的 SQL 查询
UPDATE trb1_sub_errs SET general_data = deleteXML(general_data,'//DATA/Request/Services[1]') where SUB_TRX_ID=1242403029;
我收到以下错误
ERROR at line 1:
ORA-00932: inconsistent datatypes: expected - got CHAR
【问题讨论】:
-
你能像我展示的那样从 SQL*Plus 发布会话吗?编辑您的问题并复制粘贴您的会话。并且还要提到精确的版本,最多四位小数。