Sql Server 2005 - Вставьте, если не существует

В Интернете есть много информации об этой общей "проблеме".

Такие решения, как: Этого достаточно?

insert into Table (columns)
select column1, column2, column3
where not exists (select top 1 1 from Table where something)

Следует также добавить более высокий уровень транзакции или можно ли это выполнить на уровне по умолчанию: commit?

Будет ли это работать на уровне незафиксированных?

Спасибо!

// Добавлено позже

Могу я предположить, что оба sql 'верны:

1 ) установить уровень изоляции транзакции, повторяющееся чтение

   IF NOT EXISTS() BEGIN INSERT INTO (...) END

2) установить уровень изоляции транзакции, повторяющееся чтение

insert into Table (columns)
select column1, column2, column3
where not exists (select top 1 1 from Table where something)
7
задан marc_s 25 May 2011 в 08:38
поделиться