2014-09-29 157 views
2

使用TSQL我習慣於爲我的存儲過程進行一些可重複的測試。通常這可能包括將數據庫置於特定狀態,運行存儲過程,驗證狀態並回滾。而人爲的例子可能是這樣的」PL/SQL存儲過程的測試腳本

BEGIN TRAN 
--input for test case 
DECLARE @TestName VARCHAR(10) = 'bob' 
--insert test row 
INSERT INTO tbl (data) values (@TestName) 
--display initial state of target row 
SELECT * FROM tbl WHERE data = @TestName 
--do some useful test 
EXEC MyProc 
--display the final state of the target row 
SELECT * FROM tbl WHERE data = @TestName 
--put the db back where it started 
ROLLBACK TRAN 

現在,我與甲骨文和PL/SQL的工作,我嘗試使用一些類似的模式來測試我的工作,而不是發現它明顯,我非常如何我相信有幾種不同的方法可以實現它,但實際上並沒有得到任何實際的工作,理想情況下,我將有一個腳本,在其中可以運行多個測試用例並檢查結果。我現在正在嘗試在PL/SQL Developer中工作,並且明白,它可能與Oracle SQL Developer或其他地方的工作方式有所不同。

回答

1

在Oracle中,使用像SQL*Plus工具和GUI工具,如SQL Developer,你有很多選擇:

  1. 要執行在單個會話中的語句和過程的順序,即使用PL/SQL程序方法,編寫匿名plsql阻止並將其作爲腳本執行。
  2. 大部分基於圖形用戶界面的工具都有一個選項,如Execute as scriptTest Window可單獨執行腳本或嵌入匿名塊中。
  3. 使用DBMS_SCHEDULER也可以實現相同的任務。

如您有興趣的Allround AutomationsPL/SQL Developer工具的產品,你可以簡單地使用test window測試單個對象。

我已經在我的博客記錄了PL/SQL Developer工具的一些有用的功能,請參閱http://lalitkumarb.wordpress.com/2014/08/14/plsql-developer-settings/

+0

請讓我知道,如果您還有其他問題。 – 2014-09-29 17:33:25