मैंने हाल ही में एक विषमता में भाग लिया।"तालिका से हटाएं" के लिए output_expression क्या करता है?
DELETE FROM customer *;
PostgreSQL DELETE के लिए दस्तावेज़ का कहना है स्टार output_expression
के लिए एक संभावित मूल्य है:
एक अभिव्यक्ति की गणना की और प्रत्येक पंक्ति के बाद उसे हटा आदेश द्वारा दिए जाते निम्नलिखित वैध एसक्यूएल है हटा दिया गया है। अभिव्यक्ति उपयोग में सूचीबद्ध तालिका या तालिका के किसी स्तंभ नाम का उपयोग कर सकती है। सभी कॉलम लौटने के लिए * लिखें।
मैंने इसे स्टार के साथ और बिना कोशिश की और अंतर नहीं देखा। असल में, मैं टेबल नाम के बाद केवल एक शब्द के बारे में कुछ भी डाल सकता हूं और इसे स्वीकार किया जाता है। यह एक वास्तविक कॉलम नाम भी नहीं होना चाहिए। कुछ अतिरिक्त वापस नहीं किया जाता है।
db=> DELETE FROM customer wheeeeeee;
DELETE 19
तो यह क्या करता है और मैं इसके लिए क्या उपयोग कर सकता हूं?
प्रश्न also posted on the PostgreSQL mailing list।
क्यों कोशिश नहीं करें और पता लगाएं? –
मैंने किया। यह सिर्फ पंक्तियों को हटा देता है और कुछ खास नहीं देता है। –
ऐसा लगता है कि आप 'रिटर्निंग' को याद करते हैं जो 'output_expression' से पहले व्याकरण का एक गैर वैकल्पिक हिस्सा है, मुझे लगता है कि '*' को इसके बिना उपनाम (जैसा कि' wheeeeeee' के लिए) माना जाता है। –