在TSQL我可以在查詢分析器執行存儲過程並查看一個結果在那裏的內容查詢分析器窗口,不知道有關查詢的任何結構(表,列...)如何從具有未知列數的存儲過程查看Toad中結果集的內容?
--Tsql樣品 執行myproc parm1,parm2,parm3
現在我正在與PLsql和蟾蜍(我對蟾蜍相對較新)。我需要查看一個複雜的存儲過程的結果集的內容,我不知道列數是多少 - 更不用說它們的數據類型了(這個過程由幾個奇怪的子查詢組成 - 我可以單獨查看,但是它們會被旋轉,並且最終結果集中的列數會有所不同)。當我不知道有多少列或它們的數據類型時,如何在Toad中查看此結果集的內容?
下面是代碼,我已經集中在一起查看存儲過程的結果集的內容,其中我知道有多少列以及它們的數據類型提前。在我的代碼示例中,我使用了一個名爲x_out的sys_refcursor,並且還創建了一個臨時表來存儲結果集的內容以供其他查看。有沒有辦法可以做到這一點,當我不知道結果集中有多少列?如何用PLsql做到這一點 - 蟾蜍?
create global temporary table tmpResult (fld1 number, fld2 varchar(50), fld3 date);
declare
x_out sys_refcursor;
tmpfld1 number;
tmpfld2 varchar2(50);
tmpfld3 date;
BEGIN
myschema.mypkg.myproc(parm1, parm2, x_out);
LOOP
FETCH x_out INTO tmpfld1, tmpfld2, tmpfld3;
DBMS_OUTPUT.Put_Line ('fld1:-- '||tmpfld1||': fld2:-- '||tmpfld2||': fld3:-- '||tmpfld3);
-- I also insert the result set to a temp table for additional viewing of the data from the stored procedure
Insert Into tmpResult values(tmpfld1, tmpfld2, tmpfld3);
EXIT WHEN x_out%NOTFOUND;
END LOOP;
END;
蟾蜍的什麼版本? –
應該是11g –