sql >> データベース >  >> RDS >> Oracle

Oracleのxmltype属性から名前と値を取得する

    あなたは最初の試みでほとんどそこにいました。 XPathの評価中に、/TableAConfig/@*を使用して属性リスト内にいる場合 、text()は必要ありません その中の属性の値を取得します。あなたはすでに属性レベルにいるので、「ドット」. 現在のノードには十分です。

    だから、このようなものを試してください-

    SELECT XMLElement("TableAConfigList",
        (SELECT
            XMLAgg(
               XMLElement("TableAConfig",
                    XMLAttributes(
                        tmp."attr_name" as "name",
                        tmp."attr_text" as "value"
                    )
                )
            ) from XMLTable('/TableAConfig/@*'
                passing TableA.TableA_config
                columns
                   "attr_name" varchar(30) path 'name()',
                   "attr_text" varchar(30) path '.'
            ) tmp
        )
    ) from dual
    

    最初の試みとの唯一の違いは、valueのxpathです。 属性。



    1. MySQL InnoDBテーブル間の外部キーが機能しない...なぜですか?

    2. zip形式のCSVファイルをPostgreSQLにインポートする

    3. Laravelの移行では外部キーを作成できません

    4. クラスタリングとスタッキングによるSQLServerインスタンスの統合