मैं जानना चाहता हूं कि पहली स्कैनिंग किताबों पर ऑनलाइन ट्राइगर पर अपडेट ऑपरेशन के दौरान कौन से कॉलम अपडेट किए गए हैं, ऐसा लगता है कि COLUMNS_UPDATED एकदम सही समाधान है, लेकिन यह फ़ंक्शन वास्तव में यह नहीं जांचता कि मूल्य बदल गए हैं या नहीं, यह केवल कॉलम कहां चयनित है खंड अद्यतन करें, किसी के पास अन्य सुझाव हैं?SQL सर्वर ट्रिगर में अद्यतन कॉलम की सूची कैसे प्राप्त करें?
उत्तर
एकमात्र तरीका यह है कि आप यह जांच सकते हैं कि मान बदल गए हैं या नहीं, ट्रिगर के भीतर हटाए गए और निहित वर्चुअल टेबल में मानों की तुलना करना है। एसक्यूएल नए अपडेट करने से पहले मौजूदा मान की जांच नहीं करता है, यह खुशी से शीर्ष पर एक नया समान मूल्य लिख देगा - दूसरे शब्दों में, यह आपके शब्द को अद्यतन के लिए लेता है और वास्तविक परिवर्तनों के बजाय अद्यतन ट्रैक करता है।
एकमात्र तरीका मैं सोच सकता हूं कि आप हटाए गए मानों की तुलना कर सकते हैं और यह देखने के लिए कि कौन से कॉलम बदल गए हैं।
हालांकि एक विशेष रूप से सुरुचिपूर्ण समाधान प्रतीत नहीं होता है।
मैंने this same question से पूछा!
पिछले पोस्टर सही हैं - सीधे मूल्यों की तुलना किए बिना, आप यह सुनिश्चित नहीं कर सकते कि डेटा वास्तव में बदल गया है या नहीं। हालांकि, ट्रिगर में आप और क्या करने की कोशिश कर रहे हैं, इस पर निर्भर करते हुए, इस प्रकार की जांच करने के कई तरीके हैं। मेरे प्रश्न में उन विभिन्न तंत्रों और उनके व्यापारिकताओं के उत्तरों में कुछ अच्छी सलाह है।
जैसा कि अन्य ने पोस्ट किया है, आपको निहित और हटाए जाने की पूछताछ की आवश्यकता होगी। सलाह के ही अन्य उपयोगी सा हो सकता है कि आप केवल पंक्तियों मूल्यों को बदल दिया है कि प्राप्त कर सकते हैं (और पंक्तियों को नहीं बदला त्यागने) ऑपरेटर छोड़कर उपयोग करके - इस तरह:
SELECT * FROM Inserted
EXCEPT
SELECT * FROM Deleted
हम उपयोग कर सकते हैं समारोह अद्यतन करता है, तो एक विशेष कॉलम अद्यतन किया जाता है खोजने के लिए: http://msdn.microsoft.com/en-us/library/ms187326.aspx
:IF UPDATE(ColumnName)
जानकारी के लिए इस लिंक का संदर्भ लें
- 1. SQL सर्वर ट्रिगर (0)
- 2. XQUERY का उपयोग कर SQL सर्वर xml कॉलम अद्यतन करें?
- 3. यदि अद्यतन() एसक्यूएल सर्वर ट्रिगर में
- 4. SQL सर्वर में ट्रिगर कैसे हटाएं?
- 5. डेटाबेस की सूची प्राप्त करें चयनित सर्वर
- 6. कैसे करें: SQL सर्वर 2008 के साथ स्वत: अद्यतन संशोधित दिनांक के लिए ट्रिगर बनाएं
- 7. SQL सर्वर 2008 - DELETE ट्रिगर
- 8. sqlite3/iPhone पर कॉलम नामों की सूची कैसे प्राप्त करें?
- 9. अद्यतन ट्रिगर
- 10. किसी ऐरे या सूची में SQL सर्वर कॉलम पढ़ना
- 11. मैं SQL सर्वर में किसी ट्रिगर की परिभाषा (बॉडी) कैसे प्राप्त कर सकता हूं?
- 12. SQL सर्वर: कॉलम
- 13. MySQL अद्यतन ट्रिगर - बदले गए कॉलम ढूंढें?
- 14. संभावित मानों की सूची में SQL सर्वर कॉलम को सीमित करें
- 15. एसक्यूएल सर्वर अद्यतन ट्रिगर, पहले खेतों प्राप्त करें और अद्यतन के बाद
- 16. MySQL ट्रिगर वाक्य रचना 'कॉलम पर अद्यतन'
- 17. SQL सर्वर ऑन डिलीट ट्रिगर
- 18. SQL सर्वर परिकलित कॉलम
- 19. SQL सर्वर
- 20. SQL सर्वर प्रबंधन स्टूडियो में "व्यवस्थापक अधिकार" कैसे प्राप्त करें?
- 21. SQL सर्वर में अपरिचित कॉलम क्या है?
- 22. SQL सर्वर 2008 से क्लाइंट आईपी पता कैसे प्राप्त करें?
- 23. SQL सर्वर अद्यतन क्वेरी को पूर्ववत कैसे करें?
- 24. कॉलम मान की लंबाई प्राप्त करें, कॉलम की अधिकतम लंबाई
- 25. कैसे करें: SQL सर्वर 2005
- 26. SQL सर्वर में सर्वर ट्रिगर को सहेजता है?
- 27. FluentNHibernate - डीबी कॉलम (SQL सर्वर)
- 28. SQL सर्वर
- 29. एक SQL सर्वर VARCHAR कॉलम
- 30. डेटाबेस तालिका (SQL सर्वर)