如題,直接查詢陳述句用時不到3秒,但是弄成存盤程序后,執行結果根本出不來,好像卡住了。請問是什么問題?
uj5u.com熱心網友回復:
你的東西貼出來看看。uj5u.com熱心網友回復:
create or replace PROCEDURE 總部有貨門店無貨品種明細
(
V_SUBBH IN NVARCHAR2
--v_lsdl IN NVARCHAR2
) AS
v_code VARCHAR2(20);
v_name VARCHAR2(20);
begin
EXECUTE IMMEDIATE 'TRUNCATE TABLE lyl_總部有貨門店無貨品種明細';
DECLARE CURSOR SUBPHK_CURSOR IS SELECT code,name from organization where nvl(ISFORBIDDEN,0)=0 and code<>'03010757' and code like '%V_SUBBH%' order by code;
BEGIN
OPEN SUBPHK_CURSOR;
LOOP
FETCH SUBPHK_CURSOR INTO v_code,v_name;
--總部有貨門店無貨品種資訊
insert into lyl_總部有貨門店無貨品種明細 (門店編號,門店名稱,貨號,商品名稱)
Select v_code,v_name,a.hh 貨號,a.pm 商品名稱
From yw A
left join KCLB lb on lb.id=a.lb
left join (SELECT HH,subbh FROM SUBPHK WHERE SL<>0 AND SUBBH=v_code group by HH,subbh having SUM(sl)>0) sub on sub.hh=a.hh
where nvl(a.jksl,0)>0 and sub.subbh is null
order by a.lb,a.hh;
END LOOP;
CLOSE SUBPHK_CURSOR;
END;
COMMIT;
RETURN;
END;
uj5u.com熱心網友回復:
樓主,你可以監控下 這個存盤程序在等待啥等待事件。監控方法參考我博客。uj5u.com熱心網友回復:
或者用游標fetch bulk collect into的方式 分段式的插入資料uj5u.com熱心網友回復:
在plsql的test視窗跟蹤一下,看卡哪里了。uj5u.com熱心網友回復:
不知道PL/SQL代碼中的游標你是怎么在外邊模擬的?uj5u.com熱心網友回復:
感覺不需要游標的吧uj5u.com熱心網友回復:
你的游標里回圈多少次啊轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/71812.html
標籤:基礎和管理
上一篇:oracle 執行提示缺少運算式
