INSERTed भाग आसान है - बस उस कॉलम पर एक डिफ़ॉल्ट मान परिभाषित करें, और जब आप कोई नई पंक्ति डालते हैं, तो उस कॉलम के लिए कोई मान निर्दिष्ट न करें।
अद्यतन भाग ट्रिकियर है - आपको trigger that fires ON UPDATE लिखना होगा, और फिर उस कॉलम को अपडेट करना होगा। मुझे नहीं लगता कि SQL सर्वर में ऐसा करने का कोई और तरीका है।
प्रश्न है: क्या आपको वास्तव में वास्तविक कैलेंडर तिथि की आवश्यकता है? यदि नहीं, तो यदि आप पंक्ति में बदल गए हैं या नहीं, तो केवल "मार्कर" रखना चाहते हैं, इसके बजाय ROWVERSION column type (जिसे पहले TIMESTAMP
के नाम से जाना जाता है) देखें।
मैं वास्तव में नहीं देखता कि आप इसके लिए गणना किए गए कॉलम का उपयोग कैसे कर सकते हैं - आपको उस तारीख को कहीं भी स्टोर करना होगा, और इसे INSERT और प्रत्येक आगामी अद्यतन के साथ चालू रखना होगा - केवल एक ट्रिगर ऐसा करने में कामयाब होगा।
स्रोत
2010-05-12 21:24:31
एक गणना स्तंभ होगा ** नहीं ** काम करते हैं। यदि आप गणना किए गए कॉलम का मान GETDATE() पर सेट करते हैं, तो यह हमेशा * वर्तमान * दिनांक को वापस कर देगा, अंतिम अद्यतन नहीं। – egrunin
वाह मुझे एहसास नहीं हुआ कि एक चयनित पर गणना कॉलम recompute। धन्यवाद! –
क्या होगा अगर गणना मूल्य जारी रहेगा? –