Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 вопрос по триггеру  [new]
Erik_Kartmann
Member

Откуда: Пиндырдышханда
Сообщений: 948
допустим, есть такая таблица

with A (id, f,I,O, BD) as (
select 1,'Иванов','Иван','Иванович', null union
select 2,'Иванов','Иван','Иванович', null union
select 3,'Иванов','Иван','Иванович', cast('1956-09-20 13:46:09.223' as datetime)
)
Select *
from A

и есть вторая такая же таблица (допустим B), но с индексом по f,I,O, BD

нужно написать триггер пошустрей, чтоб при вставке в таблицу А, в таблицу B вставлялись не дубликаты.

там записей тысяч 350-400 , поэтому хотелось бы пошустрее.

where exists(
select a1.F, a1.I, a1.O, a1.BD
intersect
select ins.F, ins.I, ins.O, ins.BD
)

я думаю будет медленным (
---------------------------------------------------------
SET @@verSION = 'Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86) Feb 9 2007 22:47:07 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 6.0 (Build 6002: Service Pack 2) '
21 сен 12, 09:10    [13199746]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по триггеру  [new]
Erik_Kartmann
Member

Откуда: Пиндырдышханда
Сообщений: 948
можно как-то вставлять с игнорированием ошибки, то есть то, что вставляется?
21 сен 12, 09:34    [13199843]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по триггеру  [new]
skorpk
Member

Откуда: Волгоград
Сообщений: 273
Erik_Kartmann,
Сделайте индекс в таблице с опцией IGNORE_DUP_KEY
21 сен 12, 09:42    [13199900]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по триггеру  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
А зачем вообще что-то куда-то копировать, понять не могу.
Слишком много свободного места?
21 сен 12, 10:01    [13200028]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по триггеру  [new]
Erik_Kartmann
Member

Откуда: Пиндырдышханда
Сообщений: 948
слишком много дебилов
21 сен 12, 10:04    [13200052]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по триггеру  [new]
Erik_Kartmann
Member

Откуда: Пиндырдышханда
Сообщений: 948
это не вам, если что.
21 сен 12, 10:05    [13200057]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по триггеру  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
Erik_Kartmann
это не вам, если что.
а кому?
21 сен 12, 10:21    [13200150]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по триггеру  [new]
Erik_Kartmann
Member

Откуда: Пиндырдышханда
Сообщений: 948
А как IGNORE_DUP_KEY ведёт себя при вставке нескольких тысяч записей селектом?
21 сен 12, 10:45    [13200311]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по триггеру  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31431
Erik_Kartmann
А как IGNORE_DUP_KEY ведёт себя при вставке нескольких тысяч записей селектом?
Вставляет все записи, кроме дубликатов, как же ещё?

BOL
IGNORE_DUP_KEY = { ON | OFF }
Определяет ответ на ошибку, случающуюся, когда операция вставки пытается вставить в уникальный индекс повторяющиеся значения ключа. Параметр IGNORE_DUP_KEY применяется только к операциям вставки, производимым после создания или перестроения индекса. Параметр не работает во время выполнения инструкции CREATE INDEX, ALTER INDEX или UPDATE. Значение по умолчанию — OFF.

ON
Если в уникальный индекс вставляются повторяющиеся значения ключа, выводится предупреждающее сообщение. С ошибкой завершаются только строки, нарушающие ограничение уникальности.

OFF
Если в уникальный индекс вставляются повторяющиеся значения ключа, выводится сообщение об ошибке. Будет выполнен откат всей операции INSERT.
21 сен 12, 10:50    [13200341]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по триггеру  [new]
Erik_Kartmann
Member

Откуда: Пиндырдышханда
Сообщений: 948
круто!
21 сен 12, 10:57    [13200415]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по триггеру  [new]
Erik_Kartmann
Member

Откуда: Пиндырдышханда
Сообщений: 948
обана! регэкспы есть7 Я думал тут можно максимум в лайке ставить вопросик и процентик
28 сен 12, 10:12    [13236792]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по триггеру  [new]
Glory
Member

Откуда:
Сообщений: 104760
Erik_Kartmann
Я думал тут можно максимум в лайке ставить вопросик и процентик

Т.е. статью хелпа про LIKE даже не открывали ?
28 сен 12, 10:13    [13236799]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить