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

अनुक्रम के साथ दो ऑरैकल तालिकाओं में सम्मिलित करना

आप सभी डालें मल्टी-टेबल इंसर्ट इसके लिए सिंटैक्स:

insert all
into job (jobid, fileid, jobname)
values (jobidsequence.nextval, fileid, jobname)
into reference (jobid, reffileid)
values (jobidsequence.nextval, reffileid)
select  4660 as fileid, 'name' as jobname, 4391 as reffileid
from dual;

2 rows inserted.

select * from job;

     JOBID     FILEID JOBNAME  
---------- ---------- ----------
        42       4660 name       

select * from reference;

     JOBID  REFFILEID
---------- ----------
        42       4391 

SQL Fiddle

प्रतिबंधों से:

स्पष्ट रूप से मैं मानों . में एक अनुक्रम का उपयोग कर रहा हूं खंड, इसलिए पहला वाक्य बिल्कुल सटीक नहीं लगता; लेकिन आप इसका उपयोग चयन . में नहीं कर सकते अंश। (मुझे 100% यकीन नहीं है कि इसका उपयोग values . में किया जा सकता है सभी संस्करणों में, लेकिन दस्तावेज़ीकरण किसी भी मामले में थोड़ा भ्रामक है, और स्वयं का खंडन करता है)।

इसलिए मैं इस तथ्य का लाभ उठा रहा हूं कि क्योंकि यह एक ही कथन है, nextval के दो संदर्भ समान संख्या प्राप्त करें, जैसा कि तीसरा वाक्य कहता है, इसलिए दोनों तालिकाओं में समान अनुक्रम मान का उपयोग किया जाता है।



  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 dbDriver लोड करने का प्रयास करते समय ORA-01804 त्रुटि

  2. क्या मैं विंडो फ़ंक्शन के साथ SQL क्वेरी में समूह बना सकता हूं?

  3. एसक्यूएल, ऑरेकल में खाली कॉलम का पता लगाएं, हटाएं और डेटाबेस अपडेट करें

  4. SQL*प्लस CSV निर्यात SQL डेवलपर की तुलना में धीमा है

  5. पीएल/एसक्यूएल - एक आईएन क्लॉज में एक सरणी का उपयोग कैसे करें