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

कैस्केडिंग अपडेट कैसे करें?

पोस्टग्रेज (और अन्य आरडीबीएम) में कैस्केडिंग अपडेट विशेष रूप से विदेशी कुंजी पर लागू होते हैं। उदाहरण:

create table groups (
    group_id int primary key
);
    
create table users (
    user_id int primary key, 
    group_id int references groups on update cascade
);

insert into groups values (1);
insert into users values (1, 1);
update groups set group_id = 10 where group_id = 1;

select * from users;

 user_id | group_id 
---------+----------
       1 |       10
(1 row) 

वास्तव में, अन्य विकल्पों की आवश्यकता नहीं है। यदि आप किसी ऐसे कॉलम के लिए ऐसा करने की आवश्यकता महसूस करते हैं जो एक विदेशी कुंजी नहीं है, तो इसका मतलब है कि मॉडल खराब तरीके से डिज़ाइन किया गया है (यह सामान्यीकृत ) दूसरी ओर, विदेशी कुंजियों के चयनात्मक कैस्केड अपडेट की संभावना किसी भी व्यावहारिक समस्या का समाधान नहीं करती है, बल्कि सामान्य नियमों को तोड़ती है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SET IDENTITY_INSERT पोस्टग्रेस्क्ल

  2. मेरा टाइमस्टैम्प टाइमज़ोन में क्यों स्थानांतरित हो गया है?

  3. Plpgsql:मैं घोषणा खंड में चर के लिए मूल्य कैसे निर्दिष्ट कर सकता हूं?

  4. पोस्टग्रेज - एकाधिक जुड़ने के कारण मेरी क्वेरी गलत डेटा लौटा रही है

  5. आप एक साथ काम करने के लिए PyPy, Django और PostgreSQL कैसे प्राप्त करते हैं?