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

विदेशी कुंजी प्रतिबंध वाले दो तालिकाओं की पंक्तियों को कैसे अपडेट करें

Postgres में आप एक ही कथन में दोनों तालिकाओं को अद्यतन करने के लिए एक लेखन योग्य CTE का उपयोग कर सकते हैं।

इस टेबल सेटअप को मानते हुए:

create table a (rid integer primary key, ride text, qunta integer);
create table b (kid integer primary key, rid integer references a, date date);

सीटीई होगा:

with new_a as (
  update a 
    set rid = 110
  where rid = 1
)
update b 
  set rid = 110 
where rid = 1;

जैसा कि (गैर-आस्थगित) विदेशी कुंजियों का मूल्यांकन स्टेटमेंट स्तर पर किया जाता है और प्राथमिक और विदेशी कुंजी दोनों को एक ही स्टेटमेंट में बदल दिया जाता है। , यह काम।

SQLFiddle:http://sqlfiddle.com/#!15/db6d1/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. पोस्टग्रेज में JSONB सरणी को समतल करना

  2. USING पर या उसके निकट सिंटैक्स त्रुटि

  3. django.contrib.gis.gdal आयात करते समय Geodjango अपवाद:OSError:/usr/lib/libgdal.so.1:अपरिभाषित प्रतीक:sqlite3_column_table_name

  4. Django बल्क_क्रेट उन पंक्तियों को अनदेखा करते हैं जो IntegrityError का कारण बनते हैं?

  5. पोस्टग्रेज़ डीबी डिज़ाइन टेबल को सामान्य करें या ऐरे कॉलम का उपयोग करें