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

एसक्यूएल सर्वर 2008 के बीच में नहीं होने पर डेटा कैसे सम्मिलित करें?

सबसे अच्छी बात यह होगी कि ट्रिगर्स से बचें और अगर डालने से पहले मौजूद है तो जांच करें

IF NOT EXISTS (SELECT TOP 1 1 FROM MyTable WHERE @InsertedEndDate > begin_date AND @InsertedBeginDate < end_date)
BEGIN
    --do actual insert/work
END

यह पहला ओवरलैप खोजने के लिए एक साधारण जांच है। सेलेक्ट टॉप 1 1 वास्तव में डेटा लाने से बचने की एक तरकीब है, जैसे ही यह एक पंक्ति से मेल खाती है, जो उस तिथि सीमा को ओवरलैप करती है जिसे आप वास्तव में सहेजने की कोशिश कर रहे हैं, यह वापस आ जाएगी।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर प्रबंधन स्टूडियो (SSMS) क्या है?

  2. SQL सर्वर (T-SQL) में 'दिनांक' को 'datetime2' में बदलने के उदाहरण

  3. संदर्भ उपनाम (चयन में परिकलित) WHERE खंड में

  4. अमान्य स्तंभ नाम sql त्रुटि

  5. SQL सर्वर में एक अद्वितीय मान बनाने के लिए NEWID () का उपयोग करें