powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как добавить условие для INSERT INTO
8 сообщений из 8, страница 1 из 1
Как добавить условие для INSERT INTO
    #39995622
Luna17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня каждый месяц запускается процедура, которая создает таблицу с данными за предыдущий месяц (#prev_month).
После этого я добавляю эти данные в таблицу где хранится история по всем месяцам.
Подскажите, как сделать чтобы, если вдруг процедура была запущена 2 раза в месяц, в таблицу с историей данные добавлялись только один раз.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select month, count (UserID) as Number
into #prev_month
from Compliance
where StatusID=17
and LastRequestDate>dateadd(month,datediff(month,0,getdate()-1)-1,0)  
group by Month


insert into History_tbl
select * from #prev_month
...
Рейтинг: 0 / 0
Как добавить условие для INSERT INTO
    #39995654
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Luna17,

0. where not exists
1. Логирование успешного результата и проверка по логу
2. Чекпойнт по последней дате
3. etc.
...
Рейтинг: 0 / 0
Как добавить условие для INSERT INTO
    #39995742
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Luna17, попробуй так:
Код: sql
1.
2.
3.
4.
insert into History_tbl
select * from #prev_month
except
Select * from History_tbl
...
Рейтинг: 0 / 0
Как добавить условие для INSERT INTO
    #39995746
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uaggster,

Серьёзно? Полный скан с потенциальной сортировкой ради записи одного месяца?
...
Рейтинг: 0 / 0
Как добавить условие для INSERT INTO
    #39995789
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env
uaggster,

Серьёзно? Полный скан с потенциальной сортировкой ради записи одного месяца?

Полный скан чего?
Таблицы со вставляемыми записями? Она будет сканироваться при любом сценарии. Или той таблицы, куда будут вставляться записи?
Она будет сканироваться только если в ней нет кластерного индекса, или индекса по какому либо из полей

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Create table #t1 (a int, b varchar(255) primary key clustered (a))
Create table #t2 (a int, b varchar(255) primary key clustered (a))

Insert into #t1 Values (1, 'a'), (2, 'b')
Insert into #t2 Values (1, 'a'), (2, 'b'), (3, 'c')

insert into #t1
select * from #t2
except
select * from #t1
...
Рейтинг: 0 / 0
Как добавить условие для INSERT INTO
    #39995791
Фотография SIMPLicity_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
merge ?
...
Рейтинг: 0 / 0
Как добавить условие для INSERT INTO
    #39995887
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Luna17,
добавьте проверочный триггер в таблицу истории.
...
Рейтинг: 0 / 0
Как добавить условие для INSERT INTO
    #39996166
Luna17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
uaggster,
Спасибо!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как добавить условие для INSERT INTO
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]