sql - मैं संग्रहित प्रक्रिया से प्रभावित रिकॉर्ड्स की संख्या कैसे प्राप्त कर सकता हूं?




sql-server oracle (4)

INSERT , UPDATE और डेटाबेस के खिलाफ सीधे निष्पादित SQL कथन DELETE , अधिकांश डेटाबेस प्रदाता प्रभावित पंक्तियों की गणना वापस करते हैं। संग्रहीत प्रक्रियाओं के लिए, प्रभावित रिकॉर्ड की संख्या हमेशा -1

हम संग्रहीत प्रक्रिया से प्रभावित रिकॉर्ड्स की संख्या कैसे प्राप्त करते हैं?


चेतावनी: @@ROWCOUNT बोगस डेटा वापस कर सकता है यदि तालिका में बदलाव किया गया है तो इसमें ट्रिगर्स संलग्न हैं!

@@ROWCOUNT ट्रिगर द्वारा प्रभावित रिकॉर्ड की संख्या वापस करेगा, वास्तविक बयान नहीं!


माइक्रोसॉफ्ट एसक्यूएल सर्वर के लिए आप संग्रहित प्रक्रिया में अंतिम कथन से प्रभावित पंक्तियों की संख्या को वापस करने के लिए @@ROWCOUNT चर वापस कर सकते हैं।


संग्रहीत प्रक्रिया के लिए आउट पैरामीटर पंजीकृत करें, और SQL सर्वर का उपयोग करते हुए @@ROWCOUNT आधार पर मान सेट करें। यदि आप ओरेकल का उपयोग कर रहे हैं तो SQL%ROWCOUNT का उपयोग करें।

ध्यान दें कि यदि आपके पास एकाधिक INSERT/UPDATE/DELETE , तो आपको प्रत्येक ऑपरेशन के लिए @@ROWCOUNT से परिणाम संग्रहीत करने के लिए एक चर की आवश्यकता होगी।







plsql