gpt4 book ai didi

sql - 删除重复的和真正冗余的命名空间

转载 作者:行者123 更新时间:2023-12-04 16:58:19 25 4
gpt4 key购买 nike

在下面的代码中这个语句;

declare namespace pd="http://cargowise.com/ediEnterprise/2011/10/11/systemUsage.xsd

重复 6 次使代码变得非常困惑且难以理解:
SELECT XW_PK, xw_ExeVersion, xw_enterpriseCode, xw_DatabaseCode, xw_CompanyCode,
Poodle.Love.value('declare namespace pd="http://cargowise.com/ediEnterprise/2011/10/11/systemUsage.xsd";
(pd:action/@name)[1]', 'varchar(100)') Name,
Poodle.Love.value('declare namespace pd="http://cargowise.com/ediEnterprise/2011/10/11/systemUsage.xsd";
(pd:action/@started)[1]', 'varchar(100)') [Started],
Poodle.Love.value('declare namespace pd="http://cargowise.com/ediEnterprise/2011/10/11/systemUsage.xsd";
(pd:action/@ended)[1]', 'varchar(100)') [Ended],
Poodle.Love.value('declare namespace pd="http://cargowise.com/ediEnterprise/2011/10/11/systemUsage.xsd";
(pd:action/@Elapsed)[1]', 'varchar(100)') Elapsed,
Poodle.Love.value('declare namespace pd="http://cargowise.com/ediEnterprise/2011/10/11/systemUsage.xsd";
(pd:action/@elapsedWithChildren)[1]', 'varchar(100)') elapsedWithChildren
FROM stmusage
CROSS APPLY xw_rawData.nodes('declare namespace pd="http://cargowise.com/ediEnterprise/2011/10/11/systemUsage.xsd";
/pd:performanceMeasurement/pd:action') as Poodle(Love)

我想要做的是只声明一次命名空间并完成它。问题是每个 xqueries 都嵌入在一个字符串中 - 我不完全确定 - 但是我多年来积累的经验给我一种压倒性的印象,即这些字符串不会与每个字符串交互其他任何时间很快。

最佳答案

我不知道您正在编写的编程语言,但在任何其他语言中,我会编写一个函数,该函数将字符串“name”或“started”作为参数 PPPPP 并生成

Poodle.Love.value('declare namespace d="http://cargowise.com/ediEnterprise/2011/10/11/systemUsage.xsd";
(pd:action/@{PPPPPP})[1]', 'varchar(100)')

作为其结果。

关于sql - 删除重复的和真正冗余的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7815344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com