Вставить в базу данных SQL, только если не существует

Использование VBA для вставки в базу данных Microsoft SQL

SELECT ALL *
FROM [MarketAnalysis].[dbo].[ReviewDatabase]
WHERE [VESSEL] = 'BOATY'
  AND [LOAD DATE] BETWEEN DATEADD(day, -3,'20190227') AND DATEADD(day, +3,'20190227')
ORDER BY [ID] DESC

например, выше, если вставить судно, которое соответствует имени и дате +/- 3 дня, пусть не так, как это соответствует чему-то уже в БД

@Larnu ALL * является допустимым синтаксисом T-SQL, хотя обычно избыточным

k29 06.03.2019 15:07

Это между оператором может не совсем то, что вы думаете. Если тип данных вашего столбца дня - это дата и время, он не вернет никаких строк, которые в +3 дня, потому что метка времени будет больше, чем начало дня. Когда дело доходит до дат, расчеты (и многое другое) между ними могут быть действительно проблематичными. sqlblog.org/2011/10/19/…

Sean Lange 06.03.2019 15:34
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
72
1

Ответы 1

Используйте IF NOT EXISTS и удалите ORDER BY

IF NOT EXISTS(SELECT *
FROM [MarketAnalysis].[dbo].[ReviewDatabase]
  WHERE [VESSEL] = 'BOATY'
  AND [LOAD DATE] BETWEEN DATEADD(day, -3,'20190227') AND DATEADD(day, +3,'20190227'))
BEGIN
--your insert statement
END

Фантастика, есть ли способ получить ответ, если он существует? то есть Msgbox "это уже есть в базе данных"

Ryan Jacques 06.03.2019 17:10

Ответ на этот вопрос содержится в дополнительном вопросе из OP здесь.

Sean Lange 06.03.2019 17:46

Другие вопросы по теме