gpt4 book ai didi

mysql - 从大 xml 中提取查询失败,字符串文字太长

转载 作者:行者123 更新时间:2023-11-30 23:07:54 25 4
gpt4 key购买 nike

这个问题是关于我无法解析大 xml 的地方。 Question reference link

当 xml 的大小很大时,目前是 250 kb 解析失败 字符串文字太长。

请在下面找到解决方案:

最佳答案

解决方法:

1.

    CREATE OR REPLACE FUNCTION  APE9_BLOB_2_CLOB(L_BLOB BLOB) RETURN CLOB IS
L_CLOB CLOB;
L_SRC_OFFSET NUMBER;
L_DEST_OFFSET NUMBER;
L_BLOB_CSID NUMBER := DBMS_LOB.DEFAULT_CSID;
V_LANG_CONTEXT NUMBER := DBMS_LOB.DEFAULT_LANG_CTX;
L_WARNING NUMBER;
L_AMOUNT NUMBER;
BEGIN
DBMS_LOB.CREATETEMPORARY(L_CLOB, TRUE);
L_SRC_OFFSET := 1;
L_DEST_OFFSET := 1;
L_AMOUNT := DBMS_LOB.GETLENGTH(L_BLOB);
DBMS_LOB.CONVERTTOCLOB(L_CLOB,
L_BLOB,
L_AMOUNT,
L_SRC_OFFSET,
L_DEST_OFFSET,
1,
V_LANG_CONTEXT,
L_WARNING);
RETURN L_CLOB;
END;
/

2.

SELECT  XMLTYPE (APE9_BLOB_2_CLOB (XML_LOB )) PROFILE  
FROM APE1_XML_DISTRIB
WHERE FILE_TYPE='Provider ID list' AND RELEASE_NAME='EPC_TO_PUB'

3.

    SELECT * FROM (
WITH ET AS(
SELECT
(SELECT XMLTYPE (APE9_BLOB_2_CLOB (XML_LOB )) PROFILE FROM APE1_XML_DISTRIB WHERE FILE_TYPE = 'Provider ID list' AND RELEASE_NAME='EPC_TO_PUB' ) AS XT
FROM DUAL
)
SELECT
EXT.*
FROM
ET,
XMLTABLE(
'for $SF in $GRP_2_ID/AuxiliaryType/AuxiliaryObject
for $SFItem in $SF/Row
return <row>
{
$SF
,$SFItem
}
</row>'
PASSING ET.XT AS GRP_2_ID
COLUMNS
ID Number PATH 'AuxiliaryObject/@id' ,
PROVIDER_GROUP VARCHAR2 (256) PATH 'AuxiliaryObject/@name' ,
Index_id Number PATH 'Row/Index',
PROVIDER_ID_DESC VARCHAR2 (256) PATH 'Row/Provider_ID_description',
PROVIDER_ID VARCHAR2 (64) PATH 'Row/Provider_ID'
) EXT
) order by ID,Index_id

关于mysql - 从大 xml 中提取查询失败,字符串文字太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21086074/

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