関数内で、
私は次の機能を持っています、
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