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

Oracle पहचान कॉलम और चयन में डालें

मेरा मानना ​​है कि नीचे दी गई क्वेरी काम करती है, मैंने परीक्षण नहीं किया है!

INSERT INTO Test (b)
SELECT * FROM
(
   SELECT 'z' FROM dual
   UNION ALL
   SELECT 'zz' FROM dual
);

यकीन नहीं होता, अगर यह आपकी किसी भी तरह से मदद करता है।

के लिए, GENERATED ALWAYS AS IDENTITY Oracle आंतरिक रूप से केवल एक अनुक्रम का उपयोग करता है। और सामान्य अनुक्रम के विकल्प इस पर भी लागू होते हैं।

अगले उपलब्ध अनुक्रम को लाने के लिए NEXTVAL का उपयोग किया जाता है, और स्पष्ट रूप से यह एक छद्म स्तंभ है।

नीचे Oracle से है

आप CURRVAL . का उपयोग नहीं कर सकते और NEXTVAL निम्नलिखित निर्माणों में:

  • DELETE में एक सबक्वेरी , SELECT , या UPDATE बयान
  • किसी दृश्य या भौतिक दृश्य की क्वेरी
  • DISTINCT ऑपरेटर के साथ एक सेलेक्ट स्टेटमेंट
  • ग्रुप बाय क्लॉज या ऑर्डर बाय क्लॉज के साथ एक सेलेक्ट स्टेटमेंट
  • एक SELECT वह कथन जो दूसरे SELECT . के साथ संयुक्त है यूनियन के साथ स्टेटमेंट, INTERSECT , या MINUS सेट ऑपरेटर
  • एक सेलेक्ट स्टेटमेंट का WHERE क्लॉज
  • किसी तालिका या वैकल्पिक तालिका विवरण में किसी स्तंभ का डिफ़ॉल्ट मान
  • चेक बाधा की स्थिति

subquery और SET ऊपर दिए गए संचालन नियम को आपके प्रश्न का उत्तर देना चाहिए।

और NULL के कारण के लिए, जब pseudocolumn (उदाहरण के लिए NEXTVAL) का उपयोग SET ऑपरेशन या ऊपर उल्लिखित किसी अन्य नियम के साथ किया जाता है, आउटपुट NULL होता है, क्योंकि Oracle कई चयनों के संयोजन के साथ उन्हें प्रभावी रूप से नहीं निकाल सकता है।

आइए नीचे दी गई क्वेरी देखें,

select rownum from dual
union all 
select rownum from dual

परिणाम है

ROWNUM
1
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 के डंप (सिस्टिमस्टैम्प) बाइट्स का अर्थ

  2. तालिका में प्रत्येक आईडी के लिए अधिकतम लगातार वर्ष खोजें (ओरेकल एसक्यूएल)

  3. यह जांचने का सबसे कारगर तरीका क्या है कि Oracle में कोई रिकॉर्ड मौजूद है या नहीं?

  4. एकाधिक सम्मिलित SQL oracle

  5. oci_bind_by_name और to_date PHP/OCI/Oracle