यह कुछ हद तक this question से संबंधित है के द्वारा संदर्भित नहीं निकालें:पंक्तियों एक विदेशी कुंजी
मैं एक प्राथमिक कुंजी के साथ एक मेज है, और मुझे कई तालिकाओं का संदर्भ है कि प्राथमिक कुंजी (विदेशी कुंजी का उपयोग) है। मुझे उस तालिका से पंक्तियों को हटाने की जरूरत है, जहां प्राथमिक कुंजी को उन किसी भी अन्य तालिका (साथ ही कुछ अन्य बाधाओं) में संदर्भित नहीं किया जा रहा है।
उदाहरण के लिए:
Group
groupid | groupname
1 | 'group 1'
2 | 'group 3'
3 | 'group 2'
... | '...'
Table1
tableid | groupid | data
1 | 3 | ...
... | ... | ...
Table2
tableid | groupid | data
1 | 2 | ...
... | ... | ...
और इतने पर। समूह में से कुछ पंक्तियों को किसी भी तालिका में संदर्भित नहीं किया गया है, और मुझे उन पंक्तियों को हटाने की आवश्यकता है। इसके अलावा, मुझे यह जानने की जरूरत है कि समूह में दी गई पंक्ति का संदर्भ देने वाली सभी सारणी/पंक्तियों को कैसे ढूंढें।
मुझे पता है कि मैं सिर्फ प्रत्येक तालिका से पूछता हूं और समूह की जांच कर सकता हूं, लेकिन चूंकि वे विदेशी कुंजी हैं, इसलिए मुझे लगता है कि ऐसा करने का एक बेहतर तरीका है।
यह पोस्टग्रेस्क्ल 8.3 का उपयोग कर रहा है।
ठीक है जैसे मैंने कहा कि मैं इस स्थिति से बचना चाहता हूं। कई टेबल हैं, नाम सम्मेलन मानक नहीं हैं और यह धीमा है। चूंकि बाधा पहले से ही मौजूद है, मुझे लगता है कि एक बेहतर तरीका होना चाहिए। –