Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да вмъкна данни, ако не между тях в sql сървър 2008?

Най-доброто нещо би било да се избягват задействания и да се извърши проверка с ако съществува преди вмъкване

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

Това е проста проверка за намиране на първото припокриване. Select TOP 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 Server:Как да извикам дефинирана от потребителя функция (UDF) на свързан сървър?

  2. Начини за възстановяване на данни от регистрационния файл на транзакциите на SQL Server

  3. Заявка за получаване на най-скорошното присъединяване на друга таблица с дата

  4. За типа .NET DateTime, защо изведеният тип база данни е SqlDbTypes.DateTime вместо SqlDbTypes.DateTime2?

  5. DevOps решения за автоматизация на разработка на бази данни