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

Oracle SQL क्वेरी को Azure SQL क्वेरी में बदलें

यह Oracle merge क्वेरी में बस एक WHEN NOT MATCHED . है खंड और नहीं WHEN MATCHED , इसलिए मूल रूप से यह insert . है और not exists :

insert into studies(study_id, study_date)
select x.*
from (values(@study_id, @study_date)) as x(study_id, study_date)
where not exists (select 1 from studies s1 where s1.study_id = x.study_id)

यह तार्किक रूप से मूल Oracle क्वेरी के बराबर है।

आपके मूल प्रश्न के लिए:SQL सर्वर अपने स्वयं के स्वाद का समर्थन करता है या merge कथन , जिसका सिंटैक्स Oracle से अलग है। आप Oracle merge . को फिर से लिखेंगे के रूप में:

merge studies as s
using (values(@study_id, @study_date)) as x(study_id, study_date)
on (s.study_id = x.study_id)
when not matched 
    then insert (study_id, study_date) values(x.study_id, x.study_date)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ओरेकल ईबीएस आर12 क्या है?

  2. Oracle में PL SQL कोड कैसे लपेटें?

  3. Oracle SQL में (+) क्या करता है?

  4. डुप्लिकेट मानों के बिना 5 तालिकाओं से डेटा में शामिल होना और Oracle 10g में कस्टम स्थिति के साथ परिणाम प्राप्त करना

  5. Oracle में SQRT () फ़ंक्शन