sql - Conditional INSERT or SELECT like in a CASE statement -
मैं PostgreSQL में एक CASE
कथन का उपयोग करके एक सम्मिलित करना चाहता हूं।
यदि मेरे परिणाम सेट की संख्या शून्य के बराबर है, तो मैं एक सम्मिलित करने का प्रयास कर रहा हूं I यदि यह शून्य के बराबर नहीं है, तो मैं उस तालिका पर अधिकतम समय का चयन करना चाहता हूं।
केस का चयन करें जब (x से गिनती (*) का चयन करें जहां तालिकानाम = ' पी ') & gt; 0 तब (जब से तालिकानाम = 'पी') = 0 तब (एक्स मानों ('पी', '1 9 00-01-01' में सम्मिलित करें (जहां से गणना संख्या (*) से x से MaxDataDate चुनें) )
शुद्ध एसक्यूएल में इस तरह से अनुवाद किया जा सकता है:
<पूर्व> साथ एसईएल एएस (SELECT maxdatadate FROM x जहां tablename = 'p'), INS (INSERT x (? Column_name1 ?, column_name2?) SELECT 'p' ::? Type1 ?, '1900 -01-01 '::: टाइप 2? कहां मौजूद नहीं है (चयन 1 से पहले इन) और मौजूदा (से चुनें 1 से, जहां से tablename =' p ')) चयन करें;
लापता जानकारी भरें ?
स्पॉट के निशान।
मान लें x.tablename
अद्वितीय है। अन्यथा, आपका दूसरा SELECT
कथन बकवास होगा।
विकल्प एक plpgsql फ़ंक्शन या DO
कथन
Comments
Post a Comment