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

SQL संग्रहीत कार्यविधि तालिका में मान हाँ/नहीं की जाँच करने और sql निष्पादित करने के लिए

कोई if (cursor) नहीं है निर्माण या वास्तव में कोई exists पीएल/एसक्यूएल सिंटैक्स में ऑपरेटर। आपको कुछ इस तरह करना होगा:

declare
    somevar number;
begin
    select count(*) into somevar
    from   table1
    where  value_desc = 'Indicator'
    and    value1 = 'Y'
    and    rownum = 1;

    if somevar > 0 then
        execute immediate sql_select_yes
    else 
        execute immediate sql_select_no
    end;
end;

और पंक्तिम =1 स्थिति केवल तभी होती है जब बड़ी संख्या में पंक्तियाँ हों, क्योंकि आपको अस्तित्व परीक्षण के लिए उन सभी को गिनने की आवश्यकता नहीं है। (यह परिणाम को प्रभावित नहीं करेगा यदि इसे एक लाख पंक्तियों की गणना करनी है, यह केवल समय की बर्बादी है जब आप केवल एक पंक्ति मौजूद होने पर परवाह करते हैं।) आप अस्तित्व की जांच के लिए समान रूप से कुछ इस तरह का उपयोग कर सकते हैं:

select count(*) into somevar from dual
where  exists
       ( select 1
         from   table1
         where  value_desc = 'Indicator'
         and    value1 = 'Y'
         and    rownum = 1 );


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL तालिका के भीतर रिकॉर्ड की तुलना करता है

  2. मिलीसेकंड में Oracle में दो टाइमस्टैम्प के बीच अंतर की गणना

  3. ओलेब के लिए ओरेकल प्रदाता वीएस 2015 शेल में गायब है

  4. Oracle SQL का उपयोग करके कुछ तार्किक नेटिंग के साथ रोलअप क्वेरी

  5. तालिका में अनुक्रम संख्या