pgAdmin सिर्फ जीयूआई है। आपका मतलब है PostgreSQL , RDBMS ।
एक विदेशी कुंजी बाधा
, जैसे आपने केवल यह लागू किया है कि किसी भी मूल्य का उपयोग नहीं किया जा सकता है, जो संदर्भित कॉलम में मौजूद नहीं है। आप ON UPDATE CASCADE
use का उपयोग कर सकते हैं या ON DELETE CASCADE
संदर्भित कॉलम से परिवर्तनों को प्रचारित करने के लिए, लेकिन आप नई पंक्तियाँ नहीं बना सकते हैं इसके साथ जैसा आप वर्णन करते हैं। आपको गलत टूल मिल गया है।
आप जो वर्णन करते हैं, उसे ट्रिगर
से हासिल किया जा सकता है। . दूसरा, अधिक जटिल तरीका होगा RULE
. यहां एक ट्रिगर के साथ जाएं।
PostgreSQL में आपको एक ट्रिगर फ़ंक्शन की आवश्यकता होती है , अधिकतर plpgsql का उपयोग कर रहे हैं , और एक ट्रिगर एक मेज पर जो इसका उपयोग करती है।
कुछ इस तरह:
CREATE OR REPLACE FUNCTION trg_insert_row_in_tbl2()
RETURNS trigger AS
$func$
BEGIN
INSERT INTO tbl2 (my_id, col1)
VALUES (NEW.my_id, NEW.col1) -- more columns?
RETURN NEW; -- doesn't matter much for AFTER trigger
END
$func$ LANGUAGE plpgsql;
और एक ट्रिगर AFTER INSERT
tbl1
. पर :
CREATE TRIGGER insaft
AFTER INSERT ON tbl1
FOR EACH ROW EXECUTE PROCEDURE trg_insert_row_in_tbl2();