Oracle XMLCONCAT将结果分配给变量

时间:2018-05-03 14:34:00

标签: sql xml oracle

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

:= 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;

1 个答案:

答案 0 :(得分:2)

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

通常区别是模糊的,因为在PL / SQL中我们实现了SQL中存在的许多相同的功能,但不是所有功能,例如

x:= decode(....)

无效,但

选择解码(...)

意愿。