sql >> Database teknologi >  >> RDS >> Oracle

PLS-00428:Der forventes en INTO-sætning i denne SELECT-sætning

I PLSQL-blokken skal kolonner med udvalgte sætninger være tildelt til variabler, hvilket ikke er tilfældet i SQL-sætninger.

Den anden BEGINs SQL-sætning har ikke INTO-sætning, og det forårsagede fejlen.

DECLARE
   PROD_ROW_ID   VARCHAR (10) := NULL;
   VIS_ROW_ID    NUMBER;
   DSC           VARCHAR (512);
BEGIN
   SELECT ROW_ID
     INTO VIS_ROW_ID
     FROM SIEBEL.S_PROD_INT
    WHERE PART_NUM = 'S0146404';

   BEGIN
      SELECT    RTRIM (VIS.SERIAL_NUM)
             || ','
             || RTRIM (PLANID.DESC_TEXT)
             || ','
             || CASE
                   WHEN PLANID.HIGH = 'TEST123'
                   THEN
                      CASE
                         WHEN TO_DATE (PROD.START_DATE) + 30 > SYSDATE
                         THEN
                            'Y'
                         ELSE
                            'N'
                      END
                   ELSE
                      'N'
                END
             || ','
             || 'GB'
             || ','
             || RTRIM (TO_CHAR (PROD.START_DATE, 'YYYY-MM-DD'))
        INTO DSC
        FROM SIEBEL.S_LST_OF_VAL PLANID
             INNER JOIN SIEBEL.S_PROD_INT PROD
                ON PROD.PART_NUM = PLANID.VAL
             INNER JOIN SIEBEL.S_ASSET NETFLIX
                ON PROD.PROD_ID = PROD.ROW_ID
             INNER JOIN SIEBEL.S_ASSET VIS
                ON VIS.PROM_INTEG_ID = PROD.PROM_INTEG_ID
             INNER JOIN SIEBEL.S_PROD_INT VISPROD
                ON VIS.PROD_ID = VISPROD.ROW_ID
       WHERE     PLANID.TYPE = 'Test Plan'
             AND PLANID.ACTIVE_FLG = 'Y'
             AND VISPROD.PART_NUM = VIS_ROW_ID
             AND PROD.STATUS_CD = 'Active'
             AND VIS.SERIAL_NUM IS NOT NULL;
   END;
END;
/

Referencer

http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/static.htm#LNPLS00601http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/selectinto#staticJA //pls-00428.ora-code.com/




  1. Sådan fungerer ASCII() i MariaDB

  2. Eksporter specifikke rækker fra en PostgreSQL-tabel som INSERT SQL-script

  3. Brug af PostgreSQL-replikeringspladser

  4. varbinær til streng på SQL Server