在函数内部,
我有以下功能,
create or replace
FUNCTION DiffMaxMinPrice
return double precision
is
diffprice double precision := 0;
minprice long;
maxprice long;
value long;
indexid number(19,0);
begin
for row in
(SELECT x.* into minprice , maxprice
FROM sampletable ,
XMLTABLE ('//book'
PASSING sampletable.xmlcol
COLUMNS maxprice VARCHAR2(30) PATH '@maxprice',
minprice VARCHAR2(30) PATH '@minprice') x
where sampletable.indexid = 2)
LOOP
....
END LOOP;
return 1;
end;
我不想用 2 进行硬编码,而是想替换变量 idxid。当我在那里替换一个变量时,我不断得到无效的数字。
indexid :=2
而 select 语句的 where 部分为
sampletable.indexid = indexid