[MSSQL] Дыры с таблице
От: Muxa  
Дата: 13.12.10 09:12
Оценка:
Пусть есть таблица:
CREATE TABLE TestTable(
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Value] [varchar](5) NULL
)


Пытаемся вставить в нее записи:
-- OK
insert into testtable ([Value]) values ('12345')

begin tran
-- String or binary data would be truncated. The statement has been terminated.
insert into testtable ([Value]) values ('123456789')
rollback

-- OK
insert into testtable ([Value]) values ('12345')

В результате имеем дыру:
select * from testtable

ID    Value
1    12345
3    12345

При чем неважно был ли средний insert-запрос выполнен в транзакции или нет.
Кто может объяснить такое странное поведение?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.