首页 > 解决方案 > Oracle XMLCONCAT 将结果分配给变量

问题描述

为什么我不能使用以下语法将 XMLCONCAT 的结果分配给变量

:= XMLCONCAT (, );

我有以下示例,并且 XMLCONCAT 仅适用于 SELECT XMLCONCAT (, ) INTO 结构

create or replace function  fn_xmlconcat
 return xmltype
as
  v1 xmltype;
  v2 xmltype;
  v3 xmltype;
begin
   select xmlforest(t1.cid,t1.cname,t1.cbday) into v1 from tbl_xmlforest t1 
where cid = 1 ;
   select xmlforest(t2.cid,t2.cname,t2.cbday) into v2 from tbl_xmlforest2 t2 
where cid = 4;
   v3 := xmlconcat(v1,v2);
  --select xmlconcat(v1,v2) into v3 from dual;
   return v3;
end;

标签: sqlxmloracle

解决方案


这些函数中的大多数是“SQL/XML 标准”的一部分,因为它们是由 Oracle 内部的 SQL 引擎实现的。它是允许分配等的 PL/SQL 引擎。

通常区分是模糊的,因为在 PL/SQL 中我们实现了许多与 SQL 相同的函数,但不是全部,例如

x := 解码(....)

不会工作,但是

选择解码(...)

将要。


推荐阅读