Query Problem [message #339689] |
Fri, 08 August 2008 02:27 ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
alammas
Messages: 46 Registered: July 2008
|
Member |
|
|
Hi,
Have a Look.
--
Declare
Cursor Curlist(ID VARCHAR2) is select AssetID,AssetName
from FixedAssetD where AssetID IN (ID);
WhereListVar VARCHAR2(5000):=:GLOBAL.WhereList;
BEGIN
FOR GRlist IN CURLIST(WhereListVar) LOOP
:SolddFMB.AssetID:=Glist.AssetID;
:SolddFMB.AssetName:=Glist.ASSETINFONAME;
End Loop;
end;
--
when :GLOBAL.WhereList contains one id cursor works properly but more than one id return no row, any problem here Thanx.
|
|
|
|
|
|
Re: Query Problem [message #339860 is a reply to message #339689] |
Sat, 09 August 2008 00:47 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) |
alammas
Messages: 46 Registered: July 2008
|
Member |
|
|
That i Searches..
create or replace type myTableType as table of number;
create or replace function str2tbl( p_str in varchar2 ) return myTableType
as
l_str long default p_str || ',';
l_n number;
l_data myTableType := myTabletype();
begin
loop
l_n := instr( l_str, ',' );
exit when (nvl(l_n,0) = 0);
l_data.extend;
l_data( l_data.count ) := ltrim(rtrim(substr(l_str,1,l_n-1)));
l_str := substr( l_str, l_n+1 );
end loop;
return l_data;
end;
select A.AssetID,A.AssetNAme from FixedAssetD A
where A.AssetID ( select *
from THE ( select cast( str2tbl( ':Global.Trans' ) as mytableType ) from dual ) );
Thanx Little_foot.
|
|
|