2016-11-08 52 views
-1

我有一個由某人編寫的複雜存儲過程,我需要理解它的一部分來檢查它返回的數據。因此,開始通過向蟾蜍傳遞一些數據來測試它。這是一個Oracle存儲過程。我得到錯誤:單元測試TOAD中的Oracle SQL存儲過程

Encountered the symbol "SELECT" when expecting one of the following:

(- + case mod new not null

代碼:

 declare 
           cRegion char; 
           cState_Code char; 
           nFY NUMBER; 
           nREPORT_ID NUMBER; 
           nSECTION_ID NUMBER; 
           nSUBSECTION_ID NUMBER; 
           nDISPLAY_NUMBER INTEGER; 
           nQUESTION_NUMBER INTEGER; 
           nQUESTION_PART_NUMBER INTEGER default null; 



           BEGIN 

(select QD.FY_ST_QUESTION_DTL_TABLE_ID,qi.display_number,QI.QUESTION_NUMBER, 
           qd.question_part_number 
          from FY_ST_QUESTION_INFO qi, 
           FY_ST_QUESTION_DETAIL qd 
          where qi.region = '00' 
          and qi.state_code = '05' 
          and qi.fy = '2015' 
          and qi.report_id = '1' 
          and qi.section_id = '2' 
          and qi.subsection_id = '2' 
          and qi.display_number = '23' 
          and qi.QUESTION_NUMBER = '21' 

          and QD.FY_ST_QUESTION_INFO_TABLE_ID = '16613') 

         )fq left outer join 
         (select distinct FY_ST_QUESTION_DTL_TABLE_ID, AD.ROW_NUMBER 
          from UPLOAD_TEMP_DATA ad 
          where ad.region = '00' 
          and ad.state_code = '05' 
          and ad.fy = '2015' 
          and ad.report_id = '1' 
          and ad.section_id = '2' 
          and ad.subsection_id = '2' 
          and ad.display_number = '23' 
          and ad.QUESTION_NUMBER = '21' 
          and ad.QUESTION_PART_NUMBER = '0' 
         )aq 
        using(FY_ST_QUESTION_DTL_TABLE_ID) 

感謝

+0

此代碼是存儲過程的一部分嗎? – Aleksej

+0

您正試圖執行不完整的'SELECT'語句。 – mustaccio

+0

是的,這是存儲過程的一部分 – user3147594

回答

0

我解決了這個問題,現在我知道我的錯誤。在將其附加到上面的select子句之前,我從複雜代碼中得出了結果。現在,我知道結果。