Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

मैं SQL सर्वर तालिका में "अंतिम संशोधित" और निर्मित कॉलम कैसे जोड़ूं?

created कॉलम आसान है - बस एक DATETIME2(3) एक डिफ़ॉल्ट बाधा के साथ कॉलम जो एक नई पंक्ति डालने पर सेट हो जाता है:

Created DATETIME2(3) 
   CONSTRAINT DF_YourTable_Created DEFAULT (SYSDATETIME())

इसलिए जब आप YourTable . में एक पंक्ति डालते हैं और Created . के लिए कोई मान निर्दिष्ट न करें , इसे वर्तमान दिनांक और समय पर सेट किया जाएगा।

modified थोड़ा और काम है, क्योंकि आपको AFTER UPDATE . के लिए एक ट्रिगर लिखना होगा केस करें और इसे अपडेट करें - आप घोषणात्मक रूप से SQL सर्वर को आपके लिए ऐसा करने के लिए नहीं कह सकते....

Modified DATETIME2(3)

और फिर

CREATE TRIGGER updateModified
ON dbo.YourTable
AFTER UPDATE 
AS
   UPDATE dbo.YourTable
   SET modified = SYSDATETIME()
   FROM Inserted i
   WHERE dbo.YourTable.PrimaryKey = i.PrimaryKey

आपको Inserted . में शामिल होने की आवश्यकता है छद्म तालिका जिसमें सभी पंक्तियाँ हैं जिन्हें आपकी प्राथमिक कुंजी . पर आपकी आधार तालिका के साथ अपडेट किया गया था उस तालिका के लिए।

और आपको यह AFTER UPDATE बनाना होगा प्रत्येक तालिका के लिए ट्रिगर करें जिसे आप modified करना चाहते हैं कॉलम इन।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SSIS जॉब शेड्यूलर विफल हो रहा है, लेकिन BIDS और MSDB एकीकरण सेवाओं में ठीक चल रहा है

  2. .NET से एसएसआईएस पैकेज कैसे निष्पादित करें?

  3. SQL सर्वर 2016 स्थापित करें

  4. बाधाओं की जाँच करें:TRY/CATCH बनाम Exists ()

  5. SQL सर्वर में INSERT INTO के रूप में डेटा निर्यात करना