簡體   English   中英

在PL / SQL Developer中測試功能

[英]Testing a function in PL/SQL Developer

這是我的功能:

FUNCTION GET(V_IN IN NUMBER) RETURN VARCHAR2 AS
    V_OUT VARCHAR2(1000);
BEGIN
    function body
END;

當我右鍵單擊該函數並單擊測試時,我得到以下信息:

begin
  -- Call the function
  :result := pkg.get(V_IN => :V_IN);
end;

如何用值代替此變量V_IN? 我需要測試一個數字,例如940。

當我嘗試代碼時:

declare
  r varchar2(2000);
begin
  -- Call the function
  r := pkg.get(940);
end;

我收到一個錯誤:

ORA-01036: illegal variable name/number

您可以提出各種調用此函數的方法嗎?

PS:使用的工具:PL / SQL Developer Allround Automations。 版本8.0.1.1502

Oracle數據庫11g企業版

單擊函數並在上下文菜單中單擊“ Test后,將顯示您所顯示的代碼的“測試”窗口。 該窗口中有兩個窗格-頂部窗格顯示PL / SQL Developer生成的用於調用該函數的代碼,下面的窗格包含該函數的參數列表。 在“測試”窗口的下部窗格中,該函數的參數列表包含三列-變量,類型和值。 在參數名稱的行的“值”列中輸入所需的值,然后單擊“啟動調試器”按鈕(“測試”窗口左上角的“測試腳本”選項卡名稱下),然后單擊“運行”按鈕(立即)在“啟動調試器”按鈕的右側)。

祝你好運。

“如何用值代替此變量V_IN?我”

在PLSQL Developer中運行測試時,測試窗口的底部窗格是所有替換變量的屬性列表。 您定義數據類型和輸入值(適當時)。 運行測試后,此窗口中將提供輸出值。

“ ORA-01036:非法變量名稱/編號”

不知道是什么原因造成的。 它可能不是PLSQL Developer,而是功能代碼中的錯誤(尚未發布)。

我能夠如下運行該功能:

 declare 
     v varchar2(1000);
 begin
     select pkg.get(940) into v from dual;
     dbms_output.put_line(v);
 end;

另外,根據APC的評論,有一個屬性列表(PL / SQL工作表下方顯示的小窗口,具有VariableTypeValue字段)。 您需要在值字段中輸入要傳遞的值,然后單擊執行(快捷鍵-F8)。 輸出將在同一屬性列表窗口中顯示並以黃色突出顯示。 單擊下面的鏈接以引用屏幕截圖:

單參數函數調用

當您將原始測試代碼修改為自定義代碼時,我假設您仍在pl / sql“測試窗口”中。 PL / SQL有時是錯誤的。 打開一個新的“ SQL窗口”,然后嘗試使用dbms_output.put_line()在此處運行以查看結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM