Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да получите самозатварящ се xml таг в Oracle PLSQL?

Ако трябва да направите това само с "box", тогава можете да използвате:

SELECT REPLACE(XMLELEMENT( "Consignment", XMLATTRIBUTES('123' AS "id",sysdate AS "date" ),
            XMLELEMENT( "Box", xmlattributes( '321' as "id" ))     
                 ).getstringval(),'></Box>',' />') as xxx FROM DUAL;

Ако имате други тагове, които трябва да бъдат обработени по този начин, ще трябва да използвате REGEXP_REPLACE, използвайки същата логика.

Семантично обаче и двете форми представляват абсолютно едни и същи данни, поради което не можете да правите това, което искате, "лесно" с някакъв параметър, даден на XML генератора (и защо може би не трябва да правите това на първо място!) .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да обобщя данни в дървовидна структура в SQL от деца към родител?

  2. Има ли начин да се съхранява Unicode текст в база данни на Oracle, конфигурирана като 'US7ASCII'

  3. Как да разрешим ORA-00937:не е групова функция за една група при изчисляване на процент?

  4. ora-06553 pls-306 грешен номер или типове аргументи при извикване на 'ogc_x'

  5. Как да върна редове въз основа на потребителя на базата данни и съдържанието на таблицата?