और अगर आपको वास्तव में टाइमस्टैम्प की आवश्यकता है - तो डालने पर एक ट्रिगर बनाएं और अपडेट करें जो कॉलम को वर्तमान टाइमस्टमैप के साथ अपडेट करता है।
CREATE TRIGGER dbo.trgAfterUpdate ON dbo.YourTable
AFTER INSERT, UPDATE
AS
UPDATE dbo.YourTable
SET last_changed = GETDATE()
FROM Inserted i
एक पंक्ति को अपडेट करने के लिए (जिसे संपादित या सम्मिलित किया गया है) आपको उपयोग करना चाहिए
CREATE TRIGGER dbo.trgAfterUpdate ON dbo.YourTable
AFTER INSERT, UPDATE
AS
UPDATE f set LastUpdate=GETDATE()
FROM
dbo.[YourTable] AS f
INNER JOIN inserted
AS i
ON f.rowID = i.rowID;
ये सब आपको चाहिए। GETUTCDATE() यदि आप इसे UTC में चाहते हैं (जो मुझे पसंद है)
SQL सर्वर पूरी तरह से उन पंक्तियों को जानता है जो इसे संसाधित करता है
हाँ, क्या लगता है - क्योंकि ठीक यही आप SQL सर्वर को बताते हैं:तालिका में सभी पंक्तियों को अपडेट करें।
सेट की कोई वर्तमान पंक्ति नहीं है;) यहीं से समस्या शुरू होती है।
जैसा आप चाहते हैं वैसा करने का एकमात्र तरीका शुरुआत में मेरे उत्तर में है:एक टाइमस्टैम्प। हालांकि, गलत धारणाओं के कारण, मैं एक सलाह जोड़ता हूं:SQL मूल बातें के बारे में एक पुस्तक प्राप्त करें।