मैं pgsql स्क्रिप्ट भाषा में एक समारोह बनाने हूँ के परिणामों पर दोहराएं, और क्या मैं इस बात में क्या करना चाहते हैं एक प्रश्न के परिणामों पर और प्रत्येक पंक्ति के लिए करते हैं कुछ विशिष्ट पुनरावृति है। मेरी वर्तमान कोशिश निम्न है, जहां temprow
को temprow user_data.users%rowtype
के रूप में घोषित किया गया है।PostgreSQL - क्वेरी
FOR temprow IN
SELECT * FROM user_data.users ORDER BY user_seasonpts DESC LIMIT 10
LOOP
SELECT user_id,user_seasonpts INTO player_idd,season_ptss FROM temprow;
INSERT INTO user_data.leaderboards (season_num,player_id,season_pts) VALUES (old_seasonnum,player_idd,season_ptss);
END LOOP;
हालांकि मैं इस से निम्न त्रुटि मिलती है:: ERROR: relation "temprow" does not exist
प्रश्न में कोड निम्नलिखित है। यदि यह स्पष्ट है कि मैं क्या करना चाहता हूं, तो क्या आप मुझे ऐसा करने का सही तरीका बता सकते हैं?
करने के लिए यह होगा सही तरीके से: "dont't पुनरावृति"। आपको लगता है कि सादा एसक्यूएल का उपयोग करके पूरी तरह से व्यवहार्य है: 'लीडरबोर्ड (ए, बी, सी) में डालें उपयोगकर्ताओं से एक्स, वाई, जेड का चयन करें; ' – wildplasser
जैसा कि मैंने उत्तर में देखा है, इस बिंदु पर' old_seasonnum' नहीं चुना गया है 'user_data.users' से, लेकिन पिछले बिंदु में। –
इसे निरंतर (या एक चर, plpgsql में या तैयार बयानों में) का उपयोग करने की अनुमति है जहां एक अभिव्यक्ति की आवश्यकता होती है: 'foo (ए, बी, सी) में डालें बार से 42, y, z का चयन करें;' नोट: इन आपका कोड 'old_seasonnum' भी परिभाषित नहीं किया गया है। – wildplasser