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

Oracle SQL डीप अपडेट

मर्ज जाने का रास्ता है।

एक बैग है:आइटम =आइटम 1, आइटम 2

एक BagInDB है:bag_id =1items=Item1,Item3

इसलिए हमें Item1 को अपडेट करना होगा, Item2 को जोड़ना होगा और Item3 को हटाना होगा

पहला चरण (जुड़ें):

select * from bag full outer join (select * from bagInDB where bag_id = 1)

यह आपको देगा

bag_itemName bagInDb_itemName
------------ ----------------
Item1        Item1
Item2        null
null         Item3

दूसरा चरण (मर्ज)

merge into baginDB b
using(query above) q on b.bag_id = 1 and b.itemName = q.bagInDb_itemName
when matched then
delete where q.bag_itemName is null
<rest of the conditions>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Php के लिए linux में oci8 एक्सटेंशन इंस्टॉल करना?

  2. Oracle Spatial - क्षेत्र के भीतर आने वाली वस्तुओं का चयन करें

  3. मिश्रित वर्चर कॉलम का उपयोग करके परिणामों का ओरेकल ऑर्डर करना लेकिन संख्यात्मक जहां क्लॉज

  4. dblink भर में चुनें और डालें

  5. sas में proc sql का उपयोग करके गोदाम (ओरेकल इंजन) से डेटा खींचते समय सरल यादृच्छिक नमूनाकरण