PL/SQLのカーソルについて
PL/SQLのカーソルについて
お世話になります。
Oracle11gで開発しています。
初心者です。
下記ストアドプロシージャの「zokuseisyutoku」で取得した
値(入数、重量、才数、ロケーション)を受けて、別のストアドプロシージャ
「Hyouji」の変数(irisuu、jyuryou、saisuu、lokesyon)に代入して得られた
内容をGridviewに表示させたいと思っています。
現在は、別々のストアドプロシージャなのですが、
一つに出来るものなら一つのストアドプロシージャにまとめたいの
ですが、どなたかご親切な方、ご教授頂きたく宜しくお願い致します。
記
(1)ストアドプロシージャ1つ目
create or replace procedure zokuseisyutoku
(
sItemClass in コード表.品番%type,
out_val out pls_integer,
out_cursor out sys_refcursor
)
as
begin
if sItemClass is null then
open out_cursor for
select 入数, 重量, 才数, ロケーション
from コード表
;
else
open out_cursor for
select 入数, 重量, 才数, ロケーション
from コード表
where 品番 = sItemClass
;
end if;
out_val := 1;
(2)ストアドプロシージャ2つ目
create or replace procedure Hyouji
(
irisuu in 部材表.入数%type,
jyuryou in 部材表.重量%type,
saisuu in 部材表.才数%type,
lokesyon in 部材表.ロケーション%type,
out_val out pls_integer,
out_cursor out sys_refcursor
)
as
begin
open out_cursor for
select b.資材名,b.色,b.種類,b.サイズ,b.棚番号
FROM 部材表 a,資材項目 b
WHERE a.ID = b.資材ID
AND a.入数 = irisuu AND a.重量 = jyuryou AND a.才数 = saisuu AND ロケーション = lokesyon
;
out_val := 1;
end;
end;
お礼
こんばんは ご指摘のとおりで mycursor CURSOR(key text) FOR SELECT * FROM tabel1 in WHERE id LIKE ''%'' || key || ''%''; このようにすることによってうまくいきました。 助かりました、有難うございます!