2016-11-08 110 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子句之前,我从复杂代码中得出了结果。现在,我知道结果。