Question
Option 4 : A stored procedure, because unlike a function used in a query it may perform DML and manage transactions with COMMIT/ROLLBACK / एक स्टोर्ड प्रोसीजर, क्योंकि क्वेरी में प्रयुक्त फंक्शन के विपरीत यह DML कर सकती है और COMMIT/ROLLBACK से लेन-देन प्रबंधित कर सकती है
Detailed Solution
सही उत्तर A stored procedure, because unlike a function used in a query it may perform DML and manage transactions with COMMIT/ROLLBACK / एक स्टोर्ड प्रोसीजर, क्योंकि क्वेरी में प्रयुक्त फंक्शन के विपरीत यह DML कर सकती है और COMMIT/ROLLBACK से लेन-देन प्रबंधित कर सकती है है।
Question:
A bank's database team needs a routine that debits one account, credits another, and issues COMMIT only if both updates succeed; it must be invoked explicitly by the application. Which database object fits, and why can an ordinary SQL function called inside a SELECT not do this job? / एक बैंक की डेटाबेस टीम को ऐसा रूटीन चाहिए जो एक खाते से डेबिट करे, दूसरे में क्रेडिट करे, और दोनों अपडेट सफल होने पर ही COMMIT जारी करे; इसे एप्लिकेशन द्वारा स्पष्ट रूप से बुलाया जाना चाहिए। कौन-सा डेटाबेस ऑब्जेक्ट उपयुक्त है, और SELECT के अंदर बुलाई गई साधारण SQL फंक्शन यह काम क्यों नहीं कर सकती?
Correct Answer: A stored procedure, because unlike a function used in a query it may perform DML and manage transactions with COMMIT/ROLLBACK / एक स्टोर्ड प्रोसीजर, क्योंकि क्वेरी में प्रयुक्त फंक्शन के विपरीत यह DML कर सकती है और COMMIT/ROLLBACK से लेन-देन प्रबंधित कर सकती है
Stored procedures are explicitly invoked routines that may execute DML/DDL and control transactions; a function embedded in a SELECT must be side-effect free and cannot issue transaction control or modify database state. / स्टोर्ड प्रोसीजर स्पष्ट रूप से बुलाई जाने वाली रूटीन हैं जो DML/DDL चला सकती हैं और लेन-देन नियंत्रित कर सकती हैं; SELECT में निहित फंक्शन साइड-इफेक्ट मुक्त होनी चाहिए और लेन-देन नियंत्रण जारी नहीं कर सकतीं।