Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql XMLSEQUENCE和空列_Sql_Xml_Oracle - Fatal编程技术网

Sql XMLSEQUENCE和空列

Sql XMLSEQUENCE和空列,sql,xml,oracle,Sql,Xml,Oracle,下面的查询 WITH TABLE_TEMP AS ( SELECT '1a' as "column1", '1b' as "column2" FROM DUAL UNION ALL SELECT '2a' as "column1", null as "column2" FROM DUAL UNION ALL SELECT '3a' as "column1", '' as "column2" FROM DUAL ) SELECT VALUE(em) AS

下面的查询

WITH TABLE_TEMP AS (
    SELECT '1a' as "column1", '1b' as "column2" FROM DUAL
    UNION ALL
    SELECT '2a' as "column1", null as "column2" FROM DUAL
    UNION ALL
    SELECT '3a' as "column1", '' as "column2" FROM DUAL
)

SELECT VALUE(em) AS "XMLTYPE"
FROM TABLE(XMLSEQUENCE(CURSOR(SELECT * FROM TABLE_TEMP))) em
输出

 XMLTYPE
 ---------------------------------------------------------------
  <ROW><column1>1a</column1><column2>1b</column2></ROW>
  <ROW><column1>2a</column1></ROW>
  <ROW><column1>3a</column1></ROW>

我认为XMLSequence已经被弃用了。看:你说得对,我已经编辑了上面的代码来删除XMLSequence。谢谢。我认为XMLSequence已经被弃用了。看:你说得对,我已经编辑了上面的代码来删除XMLSequence。谢谢你。
 XMLTYPE
 ---------------------------------------------------------------
  <ROW><column1>1a</column1><column2>1b</column2></ROW>
  <ROW><column1>2a</column1></ROW>
  <ROW><column1>3a</column1><column2 /></ROW>
SELECT
    VALUE(table_temp) AS "XMLTYPE"
FROM
    XMLTABLE('/ROWSET/ROW' PASSING
        DBMS_XMLGEN.GETXMLTYPE('
            SELECT ''1a'' as "column1", ''1b'' as "column2" FROM DUAL
            UNION ALL
            SELECT ''2a'' as "column1", null as "column2" FROM DUAL
            UNION ALL
            SELECT ''3a'' as "column1", '''' as "column2" FROM DUAL
        ')
    ) table_temp;