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

लिखने योग्य सामान्य तालिका अभिव्यक्ति और एकाधिक सम्मिलित विवरण

यदि आप यह सब एक ही कथन में चाहते हैं, तो आप सीटीई का उपयोग कर सकते हैं:

with foo as (
      select * from ...
     ),
     b as (
      insert into bar
          select * from foo
          returning *
     )
insert into baz
    select * from foo;

नोट:

  • आपको insert के साथ कॉलम सूचियां शामिल करनी चाहिए ।
  • आपको कॉलम नाम स्पष्ट रूप से निर्दिष्ट करना चाहिए select * . के लिए . यह महत्वपूर्ण है क्योंकि कॉलम दो तालिकाओं में मेल नहीं खा सकते हैं।
  • मैं हमेशा returning का उपयोग करता हूं update के साथ /insert /delete सीटीई में। यह सामान्य उपयोग का मामला है -- उदाहरण के लिए, आप एक इंसर्ट से सीरियल आईडी वापस प्राप्त कर सकते हैं।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रिश्तों की गिनती के आधार पर परिणाम कैसे समूहित करें

  2. PostgreSQL कॉलम foo मौजूद नहीं है जहां foo मान है

  3. क्या मैं समानांतर का उपयोग कर सकता हूं। एसक्यूएल कमांड के साथ?

  4. पायथन का उपयोग करके पोस्टग्रेएसक्यूएल में सीएसवी डेटा

  5. अनुक्रमणिका में स्तंभ की स्थिति