प्रत्येक PL / pgSQL फ़ंक्शन कॉल के भीतर फ़ॉउड झूठी शुरू होता है। यह निम्न प्रकार के कथनों में से प्रत्येक द्वारा निर्धारित किया गया है:
यदि कोई पंक्ति नहीं दी जाती है, तो एक सही INTO स्टेटमेंट फ़ॉउंड को सही सेट करता है।
यदि कोई पंक्ति निर्मित नहीं हुई है, तो एक पूर्ण कथन एक या अधिक पंक्तियों को उत्पन्न करने (और डिस्क्राइब करने) के लिए सही है।
UPDATE, INSERT और DELETE कथनों को सही माना जाता है यदि कोई पंक्ति प्रभावित नहीं होती है, तो कम से कम एक पंक्ति प्रभावित होती है।
यदि कोई पंक्ति वापस नहीं आती है, तो FETCH का कथन सत्य को सेट करता है, यदि यह एक पंक्ति लौटाता है, तो गलत है।
यदि यह सफलतापूर्वक कर्सर को गलत ढंग से रिपॉजिट करता है, तो एक MOVE स्टेटमेंट सही है।
यदि यह एक या अधिक बार, और गलत है, तो एक या फॉरएच कथन सही है। जब लूप बाहर निकलता है, तो फ़ॉन्ड को इस तरह से सेट किया जाता है; लूप के निष्पादन के अंदर, फ़ॉउंड को लूप स्टेटमेंट द्वारा संशोधित नहीं किया जाता है, हालांकि यह लूप बॉडी के भीतर अन्य स्टेटमेंट्स के निष्पादन द्वारा बदला जा सकता है।
RETURN QUERY और RETURN QUERY EXECUTE कथनों को सही मानते हैं यदि क्वेरी कम से कम एक पंक्ति में लौटती है, तो कोई पंक्ति वापस न होने पर झूठी।
अन्य PL / pgSQL स्टेटमेंट FOUND की स्थिति को नहीं बदलते हैं। विशेष रूप से ध्यान दें कि EXECUTE GET DIAGNOSTICS का आउटपुट बदलता है, लेकिन FOUND नहीं बदलता है।
प्रत्येक PL / pgSQL फ़ंक्शन के भीतर FOUND एक स्थानीय चर है; इसमें कोई भी परिवर्तन केवल वर्तमान फ़ंक्शन को प्रभावित करता है।
select into
कोई रिटर्न नहीं डेटा अभी भी एक अपवाद, सही उठाएगा?