Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ओरेकल मामले में लापता कीवर्ड त्रुटि जब एसक्यूएल बयान

 CASE EVENT_ID WHEN WF.STATUS_ID=0 THEN EVENT_ID=10003 
    WHEN WF.STATUS_ID=1 THEN EVENT_ID=10018 END AS EVENTID

आपने दो भिन्न वाक्यविन्यास . को मिश्रित किया है मामले . का बयान।

1.simple_case_statement

   CASE [ expression ]

   WHEN condition_1 THEN result_1
   WHEN condition_2 THEN result_2
   ...
   WHEN condition_n THEN result_n

   ELSE result

   END

2.searched_case_statement

CASE 

   WHEN expression condition_1 THEN result_1
   WHEN expression condition_2 THEN result_2
   ...
   WHEN expression condition_n THEN result_n

   ELSE result

END 

अपनी अभिव्यक्ति को -

. में बदलें
CASE 
   WHEN WF.STATUS_ID=0 THEN 10003 
   WHEN WF.STATUS_ID=1 THEN 10018
END AS EVENTID

दोनों सिंटैक्स के दस्तावेज़ देखने के लिए इस लिंक का अनुसरण करें।

अपडेट करें ओपी का कहना है कि उन्हें अभी भी अनुपलब्ध कीवर्ड त्रुटि मिलती है . यह दिखाने के लिए एक परीक्षण मामला है कि यह सच नहीं है। छूटे हुए कीवर्ड को सही केस स्टेटमेंट के साथ ठीक कर दिया जाएगा।

SQL> CREATE OR REPLACE
  2  PROCEDURE EXT_SELF_10003_SIGWF
  3  AS
  4  BEGIN
  5    -- first empty TEMP_WF_WORKFLOW table
  6    EXECUTE IMMEDIATE 'TRUNCATE TABLE TEMP_WF_WORKFLOW';
  7    -- get WF_WORKFLOW table data
  8    INSERT
  9    INTO TEMP_WF_WORKFLOW
 10      (
 11        STATUS_ID,
 12        EVENT_ID,
 13        ORDER_NUMBER
 14      )
 15    SELECT WF.STATUS_ID,
 16      CASE
 17        WHEN WF.STATUS_ID=0
 18        THEN 10003
 19        WHEN WF.STATUS_ID=1
 20        THEN 10018
 21      END AS EVENTID,
 22      TSM.ORDER_NUMBER
 23    FROM [email protected]_RETAIL WF
 24    JOIN TMP_SOAP_MONITORING_IDS TSM
 25    ON TSM.SUBSCRIPTION_ID=WF.SUBSCRIPTION_ID
 26    WHERE TSM.order_type  ='SELF_REGISTRATION'
 27    AND WF.NAME           ='SIGNUP_MOBILE_PRE_PAID';
 28    COMMIT;
 29  END EXT_SELF_10003_SIGWF;
 30  /

Warning: Procedure created with compilation errors.

SQL> sho err
Errors for PROCEDURE EXT_SELF_10003_SIGWF:

LINE/COL ERROR
-------- --------------------------------------------------
7/3      PL/SQL: SQL Statement ignored
23/8     PL/SQL: ORA-00942: table or view does not exist
SQL>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक दृश्य में एक अशक्त स्तंभ कैसे बनाएं?

  2. ORA-01461:केवल एक लंबे कॉलम में डालने के लिए एक लंबा मान बांध सकता है-क्वेरी करते समय होता है

  3. होस्ट (विंडोज़) से वर्चुअलबॉक्स में ओरेकल डीबी का उपयोग कैसे करें

  4. Oracle:OALL8 असंगत स्थिति में है

  5. अशक्त मानों को प्रतिस्थापित करते हुए दो पंक्तियों को एक में मिलाना