1

I'm getting a "PLS-00428: an INTO clause is expected in this SELECT statement" when I try to run the following code in sql in TOAD. I need to be able to declare the date variable at the beginning of the code since it will change when I run the report.

declare
report_date date;
begin
report_date := to_date('09/12/2017','mm/dd/yyyy');
  SELECT   IDMOWNER.INDX_WT.ISSUE_NM,
           IDMOWNER.INDX_WT.SEDOL_ID,
           IDMOWNER.INDX_WT.ISSUE_SYM_ID,           
           IDMOWNER.INDX_WT.ISSUE_ID
    FROM   IDMOWNER.INDX_WT
   WHERE   ( ( (IDMOWNER.INDX_WT.RPT_DT) = TO_DATE (report_date, 'mm/dd/yyyy'))
            AND ( (IDMOWNER.INDX_WT.INDX_SRC_CD) = 'SOD')
            AND ( (IDMOWNER.INDX_WT.INDX_SYM_TX) = 'NQSSFB'))
ORDER BY  IDMOWNER.INDX_WT.RPT_DT,
          IDMOWNER.INDX_WT.ISSUE_SYM_ID,
          IDMOWNER.INDX_WT.MKT_VALUE_AM DESC;      
end;
Ori Marko
  • 56,308
  • 23
  • 131
  • 233
Arif Ahmed
  • 11
  • 1
  • 2
  • Declaring a date variable is not your issue. You need `into variable_list ...` before `FROM`. – Shannon Severance Sep 13 '17 at 16:41
  • Possible duplicate of [PLS-00428: an INTO clause is expected in this SELECT statement](https://stackoverflow.com/questions/25486543/pls-00428-an-into-clause-is-expected-in-this-select-statement) – Shannon Severance Sep 13 '17 at 16:44

1 Answers1

0

If you just want to run this query and get the output, a PL/SQL block is probably not your best choice. I think your question is actually a duplicate of this one.

I would suggest using a substitution variable, like this:

def report_date = '09/12/2017'

SELECT   IDMOWNER.INDX_WT.ISSUE_NM,
         IDMOWNER.INDX_WT.SEDOL_ID,
         IDMOWNER.INDX_WT.ISSUE_SYM_ID,           
         IDMOWNER.INDX_WT.ISSUE_ID
  FROM   IDMOWNER.INDX_WT
 WHERE   ( ( (IDMOWNER.INDX_WT.RPT_DT) = TO_DATE (&report_date, 'mm/dd/yyyy'))
          AND ( (IDMOWNER.INDX_WT.INDX_SRC_CD) = 'SOD')
          AND ( (IDMOWNER.INDX_WT.INDX_SYM_TX) = 'NQSSFB'))
ORDER BY  IDMOWNER.INDX_WT.RPT_DT,
          IDMOWNER.INDX_WT.ISSUE_SYM_ID,
          IDMOWNER.INDX_WT.MKT_VALUE_AM DESC;    
kfinity
  • 8,581
  • 1
  • 13
  • 20