![](/img/trans.png)
[英]Arrays in PL/SQL function as return type returning ORA-06502: PL/SQL: numeric or value error: character to number conversion error
[英]Find the return value of a PL/SQL function on remote database
我有一個在遠程客戶端上運行的Oracle XXg數據庫,無法重現測試環境。 現在,有一個存儲過程返回一個意外值(它只是一個應該為零的整數,但返回其他數字),我想發現那個值。
我可以編輯函數和過程,但是如果不使用無法調試的大型Java應用程序,就無法調用該函數。 有什么方法可以將返回值記錄到文本文件或數據庫中的某些日志中,以便在執行后可以對其進行檢查?
如果沒有這種功能,那么麻煩的解決方法是什么?
如何創建一個表來記錄值?
CREATE TABLE mylog (t TIMESTAMP DEFAULT SYSTIMESTAMP, retval NUMBER);
CREATE OR REPLACE PROCEDURE yourprocedure
AS
myval NUMBER;
PROCEDURE logval (myval NUMBER) AS PRAGMA autonomous_transaction;
BEGIN
INSERT INTO mylog(retval) VALUES (myval);
COMMIT;
END logval;
BEGIN
-- your normal code
myval := 1;
-- log the result
logval(myval);
END yourprocedure;
/
然后,您可以簡單地從表mylog
選擇值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.