Как избежать дублирования в моей таблице SQL-im с помощью хранимой процедуры...
Каждый раз, когда я загружаю свой xml-файл, он не обновляет мои предыдущие данные, а скорее дублирует их. как проверить наличие существующих элементов и заменить их в случае каких-либо изменений вместо того, чтобы иметь их в дубликатах? Спасибо
Что я уже пробовал:
USE [MyHelpDesk] GO /****** Object: StoredProcedure [dbo].[InsertXML] Script Date: 06/09/2017 14:38:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= ALTER PROCEDURE [dbo].[InsertXML] @xml XML AS BEGIN SET NOCOUNT ON INSERT INTO HelpDesk SELECT DocID.value('(Module/text())[1]','VARCHAR(max)') AS Module, --TAG DocID.value('(SubModule/text())[1]','VARCHAR(max)') AS SubModule, --TAG DocID.value('(Title/text())[1]','VARCHAR(max)') AS Title, --TAG DocID.value('(SubTitle/text())[1]','VARCHAR(max)') AS SubTitle, --TAG FROM @xml.nodes ('/BackOffice/DocID')AS TEMPTABLE(DocID) END
F-ES Sitecore
google "sql избегайте дубликатов данных", и вы найдете множество примеров этого. Пожалуйста, сделайте фундаментальное исследование, прежде чем задавать вопрос.
ZurdoDev
Если существует (напишите инструкцию select, чтобы узнать, существуют ли данные)
НАЧАТЬ
ОБНОВЛЕНИЕ...
КОНЕЦ
ЕЩЁ
НАЧАТЬ
ВСТАВЛЯТЬ...
КОНЕЦ
Простой.