GB
What is the difference between a PL/SQL stored procedure and a stored function?
IN
पीएल/एसक्यूएल संग्रहीत प्रक्रिया और संग्रहीत फ़ंक्शन के बीच क्या अंतर है?
A
Functions are always faster than procedures
कार्य हमेशा प्रक्रियाओं से तेज़ होते हैं
B
Procedures can return multiple values; functions cannot return anything
प्रक्रियाएं एकाधिक मान लौटा सकती हैं; फ़ंक्शंस कुछ भी वापस नहीं कर सकते
C
Stored procedure: a named block that executes logic and may return values via OUT/IN OUT parameters called with EXECUTE/CALL cannot be used in SQL expressions. Stored function: MUST return a single value via RETURN can be called from within SQL expressions (SELECT WHERE) and is side-effect restricted in SQL contexts
संग्रहीत प्रक्रिया: एक नामित ब्लॉक जो तर्क निष्पादित करता है और EXECUTE/CALL के साथ बुलाए गए OUT/IN OUT पैरामीटर के माध्यम से मान लौटा सकता है, SQL अभिव्यक्तियों में उपयोग नहीं किया जा सकता है। संग्रहीत फ़ंक्शन: RETURN के माध्यम से एक एकल मान लौटाना होगा, इसे SQL अभिव्यक्तियों के भीतर से कॉल किया जा सकता है (SELECT WHERE) और SQL संदर्भों में साइड-इफ़ेक्ट प्रतिबंधित है
D
Functions are compiled; procedures are interpreted
फ़ंक्शन संकलित हैं; प्रक्रियाओं की व्याख्या की जाती है
✅ Correct Answer:
💡 Explanation / व्याख्या
Explanation (English)
Procedure: EXEC my_proc(param); Can have IN, OUT, IN OUT params. No RETURN value (returns via OUT params). Cannot use in SELECT. Function: val := my_func(param) or SELECT my_func(col) FROM t. Must have RETURN type and RETURN statement. In Oracle, functions called from SQL must not modify tables.
व्याख्या (हिन्दी)
प्रक्रिया: EXEC my_proc(param); IN, OUT, IN OUT पैरामीटर हो सकते हैं। कोई रिटर्न मान नहीं (आउट पैरामीटर के माध्यम से रिटर्न)। SELECT में उपयोग नहीं किया जा सकता. फ़ंक्शन: val := my_func(param) या t से my_func(col) चुनें। रिटर्न प्रकार और रिटर्न विवरण होना चाहिए। Oracle में, SQL से बुलाए गए फ़ंक्शंस को तालिकाओं को संशोधित नहीं करना चाहिए।