为什么我不能使用以下语法将XML CONCAT的结果分配给变量
:= 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;
这些函数中的大多数都是“SQL / XML标准”的一部分,因为它们是由Oracle内部的SQL引擎实现的。 PL / SQL引擎允许分配等。
通常区别是模糊的,因为在PL / SQL中我们实现了SQL中存在的许多相同的功能,但不是全部,例如,
x:=解码(....)
不行,但是
选择解码(...)
将。