Dima, спасибо, но масштаб у этого проэкта я надеюсь другой.
SQL Server - Identity column as a primary key
-
- Уже с Приветом
- Posts: 5771
- Joined: 02 Dec 1999 10:01
- Location: Saint-Petersburg --> Bellevue, WA
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
А. Вы про это.
У нас такого не бывает. Т.е. Вставляется или одна запись или множество.
Во втором случае всегда есть #таблица в которой все накапливается.
Далее вызывается другая СП:
И после эти дела UPDATE загоняются в #таблицу. Далее идет простой INSERT
[/code]
У нас такого не бывает. Т.е. Вставляется или одна запись или множество.
Во втором случае всегда есть #таблица в которой все накапливается.
Далее вызывается другая СП:
Code: Select all
if @iFrequency = 0
begin
select @oStartKey = 0
select @oEndKey = 0
return
end
set ARITHIGNORE on
begin transaction
update tciSurrogateKey
set NextKey = case NextKey + @iFrequency
when null then @iFrequency + 1 -- in case of overflow
else NextKey + @iFrequency
end
where TableName = @iTableName
if @@rowcount = 0
begin
insert tciSurrogateKey
(TableName
,NextKey)
values (@iTableName
,@iFrequency + 1)
end
select @oStartKey = case NextKey
when @iFrequency + 1 then 1
else NextKey - @iFrequency
end
from tciSurrogateKey
where TableName = @iTableName
select @oEndKey = @oStartKey + @iFrequency - 1
commit transaction
И после эти дела UPDATE загоняются в #таблицу. Далее идет простой INSERT
[/code]
-
- Уже с Приветом
- Posts: 28294
- Joined: 29 Aug 2000 09:01
- Location: SPB --> Gloucester, MA, US --> SPB --> Paris
Понятно, согласен
Когда логика такая то конечно проблемы нет
Сейчас прочто часто системы где после begin transaction идет вызов метода CreateSomeDocumentsBasedOnOurBusinessLogic, and you have no idea what kind of documents will be created, and how many
Когда логика такая то конечно проблемы нет
Сейчас прочто часто системы где после begin transaction идет вызов метода CreateSomeDocumentsBasedOnOurBusinessLogic, and you have no idea what kind of documents will be created, and how many
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
-
- Уже с Приветом
- Posts: 13014
- Joined: 10 Jul 2001 09:01
- Location: VA
Смотрите, осторожно с Access'овскими AutoIncrement. Например, если из таблицы удалить все записи, а потом сделать Repair, Compact, то она начнет нумеровать сначала. Если ваша Referential Integrity фиговая (а я так понял, что фиговая), то будете иметь с этого потенциальные проблемы,. Если вам так уже влом делать синтетический PK, гляньте на Replication ID, как подтип AutoIncrement.