sql >> Database teknologi >  >> RDS >> Oracle

Sådan omdøbes en Oracle XMLTYPE-node

En mulighed er at bruge XMLTRANSFORM for at omdøbe en node. Se også f.eks. Omdøb noder med XSLT .

with
xmldata as (select xmltype('<root>
  <fields>
    <a>foo</a>
    <b>bar</b>
  </fields>
</root>') val from dual),
stylesheet as (select '<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <!-- Identity transformation -->
  <xsl:template match="node()|@*">
    <xsl:copy>
      <xsl:apply-templates select="node()|@*"/>
    </xsl:copy>
  </xsl:template>
  <!-- Identity transformation overridden for element b -->
  <xsl:template match="b">
    <xsl:element name="c">
      <xsl:apply-templates select="node()|@*"/>
    </xsl:element>
  </xsl:template>
</xsl:stylesheet>' val from dual)
select xmltransform(x.val, s.val) from xmldata x, stylesheet s;

Output:

XMLTRANSFORM(X.VAL,S.VAL)
--------------------------------------------------------------------------------
<root>
  <fields>
    <a>foo</a>
    <c>bar</c>
  </fields>
</root>


  1. Tæl forekomsterne på tværs af flere kolonner

  2. Effektiv konvertering af datoer mellem UTC og lokal (dvs. PST) tid i SQL 2005

  3. Fejlen Hentning af tabel findes ikke, men tabellen eksisterer (ActiveRecord::StatementInvalid Mysql2::Fejl:Tabellen eksisterer ikke)

  4. Sådan laver du en fuld ydre deltagelse i MySQL