2016-01-15 75 views
0

有沒有一種方法可以詢問用戶,他希望爲哪個選項執行一個過程;像它要求ABC這裏pl/sql輸入選項

create or replace procedure Test3 (abc in abc.abc%type)

因此如果用戶啓動程序時,系統應該問:你要添加的員工或你只需要改變現有員工

的JOB_ID
+1

推測,有一些應用程序是用戶正在運行的已連接到數據庫以運行該過程。這將是提示用戶確定他們想要做什麼的前端應用程序。看起來似乎不大可能的是,單一程序既可以添加員工,也可以更改員工的job_id。如果有兩個不同的過程,並且前端可以調用需要的任何過程來傳遞需要的參數,那將會更有意義。 –

+0

感謝賈斯汀回答!不幸的是,我必須爲兩者制定一個程序(這是我們即將在學校進行的測試的演示說明)。你知道任何其他方式來解決這個問題(沒有應用程序?)謝謝! –

+0

如何調用該過程?沒有應用程序,您無法調用過程。該應用程序可以像使用「ACCEPT」命令和一些替換變量的SQL * Plus腳本一樣小。 –

回答

0

PL/SQL不是一種交互式語言。您必須使用某個前端調用PL/SQL過程來從前端傳遞用戶輸入。

然而,你可以編寫包含substitute variable &的PL/SQL塊,它要求在編譯時輸入,而不是運行時。所以你可以在每次編譯時提供輸入。

DECLARE 
    name := &user_input_name 
BEGIN 
    DBMS_OUTPUT.PUT_LINE('Name: '||name); 
END;