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

ORA-00907 दायां कोष्ठक समस्या गुम है - इनसाइड इंसर्ट क्वेरी द्वारा ऑर्डर के साथ चयन करें

दोनों वर्तमान उत्तर इस तथ्य को अनदेखा करते हैं कि order by . का उपयोग करना और rownum एक ही प्रश्न में स्वाभाविक रूप से खतरनाक है। इस बात की कोई गारंटी नहीं है कि आपको वह डेटा मिलेगा जो आप चाहते हैं। यदि आप किसी आदेशित क्वेरी से पहली पंक्ति चाहते हैं तो आपको जरूरी उप-क्वेरी का उपयोग करें:

insert into my_tbl ( col1, col2 )
select data, 'more data'
  from ( select data
           from fir_tabl
          where id = 1
          order by created_on desc )
 where rownum = 1
       ;

आप rank जैसे फ़ंक्शन का भी उपयोग कर सकते हैं अपनी इच्छित विधि में डेटा ऑर्डर करने के लिए, यद्यपि यदि आपके पास दो created_on . थे तिथियां जो समान थीं आप rnk = 1 . के साथ 2 मानों के साथ समाप्त होंगे ।

insert into my_tbl ( col1, col2 )
select data, 'more data'
  from ( select data
              , rank() over ( order by created_on desc ) as rnk
           from fir_tabl
          where id = 1)
 where rnk = 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. ORA-12705:NLS डेटा फ़ाइलों या अमान्य वातावरण तक नहीं पहुँच सकता

  2. विंडोज़ 'http:/.127.0.0.1:%HTTPPORT%/apex/f?p=4950' नहीं ढूँढ सकता। सुनिश्चित करें कि आपने नाम सही लिखा है, और फिर पुन:प्रयास करें

  3. Oracle में 10 मिनट के भीतर 10 मिलियन प्रश्नों का INSERT?

  4. एक कॉलम में दोहराए जाने वाले मान

  5. ओरेकल एसक्यूएल ऑर्डर सबक्वायरी समस्याओं में!