SQL Server вставки записей из одной таблицы в другую - PullRequest
0 голосов
/ 26 июля 2010

как одна вставка записей из одной таблицы в другую с уникальным индексом в таблице назначения без прохождения вставки и последующего удаления дубликатов путем удаления индекса?

INSERT INTO forms(url,feedUrl, dateadded)
SELECT url, feedurl, dateadded
FROM Book3 T2
where not exists(select * from forms T1 where T1.url = T2.url;
T2.feedurl = T1.feedUrl and  T2.dateadded =T1.dateadded) 

Нарушение UNIQUE KEYограничение «IX_forms».Невозможно вставить повторяющийся ключ в объект 'dbo.forms'.

Табличные формы

CREATE TABLE [dbo].[forms](
[id] [int] IDENTITY(1,1) NOT NULL,
[url] [varchar](450) NULL,
[feedUrl] [varchar](450) NULL,
[dateadded] [datetime] NULL,
 CONSTRAINT [PK_forms] PRIMARY KEY CLUSTERED 
 (

Таблица book3

CREATE TABLE [dbo].[Book3](
[url] [varchar](450) NULL,
[feedurl] [varchar](450) NULL,
[dateadded] [datetime] NULL
) ON [PRIMARY]

1 Ответ

2 голосов
/ 26 июля 2010

Возможно, у вас есть дубликаты в наборе результатов.Этот запрос дает вам меньше записей, чем оригинальный выбор?

SELECT distinct url, feedurl, dateadded 
FROM Book3 T2 
where not exists(select * from forms T1 where T1.url = T2.url 
T2.feedurl = T1.feedUrl and  T2.dateadded =T1.dateadded)  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...