在PL/SQL中,可以使用DBMS_SQL.RETURN_RESULT函數來查看歷史執行語句。以下是一個示例程序:
DECLARE
stmt VARCHAR2(200);
c NUMBER;
res SYS_REFCURSOR;
rec DBMS_SQL.DESC_TAB;
cnt INTEGER := 0;
BEGIN
-- 執行歷史語句
stmt := 'SELECT * FROM your_table';
-- 執行語句
c := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(c, stmt, DBMS_SQL.NATIVE);
DBMS_SQL.DEFINE_COLUMN_CURSOR(c, 1);
-- 獲取結果
res := DBMS_SQL.EXECUTE_AND_FETCH(c);
-- 獲取歷史語句
DBMS_SQL.DESCRIBE_COLUMNS(c, cnt, rec);
FOR i IN 1..cnt LOOP
DBMS_OUTPUT.PUT_LINE('Column ' || i || ': ' || rec(i).col_name);
END LOOP;
-- 關閉游標
DBMS_SQL.CLOSE_CURSOR(c);
END;
在上面的示例中,我們首先定義了一個歷史語句,然后使用DBMS_SQL.OPEN_CURSOR函數打開一個游標。接下來,使用DBMS_SQL.PARSE函數解析并執行歷史語句。然后,使用DBMS_SQL.DEFINE_COLUMN_CURSOR函數定義一個列游標,并使用DBMS_SQL.EXECUTE_AND_FETCH函數獲取結果。最后,使用DBMS_SQL.DESCRIBE_COLUMNS函數來獲取歷史語句的列信息。
請注意,上面的示例僅適用于查詢語句。如果要執行其他類型的語句(如插入、更新或刪除語句),則需要相應地修改代碼。