2011-09-22 20 views
0

我需要編寫一個腳本,它將提示SQL +中的數據庫用戶鍵入存儲過程的名稱,然後將顯示該存儲過程的代碼。Oracle SQL輸入版本

這將會給我的提示:

accept spinput prompt 「Enter Stored Procedure Name:」 

然後,我可以在存儲過程的名稱類型。

然後,如果我運行此代碼,將顯示存儲過程代碼。

select text from user_source 
where type = 'PROCEDURE' 
and name = ‘&spinput’; 

我該如何將這些全部結合到只需要輸入並運行其餘部分的腳本中?做這個的最好方式是什麼?

謝謝!

回答

0

也許我失去了一些東西,但你幾乎沒有?你不能只是你的兩個語句合併成一個文件,在說,prc.sql一些格式化命令一起:

set feedback off 
set heading off 
set verify off 
accept spinput prompt "Enter Stored Procedure Name:" 
select text from user_source 
where type = 'PROCEDURE' 
and name = UPPER('&spinput'); 
exit 

然後運行以下命令:

sqlplus -s user/pw @prc.sql 

你的程序文本輸出到屏幕上。

我稍微修改了您的查詢以將用戶輸入轉換爲大寫,因爲大多數時間存儲過程名稱將在數據庫中大寫。這意味着用戶可以在不考慮大小寫的情況下鍵入文本,並找到該過程。

+0

我發佈我的問題後,我結束了一個小時左右的計算。我創建了一個類似於你發佈的文件,但它一直記住我輸入的最後一個輸入。我向腳本添加了一個清晰的緩衝區,一切都很好。謝謝回覆! – Christopher