Tak a je to, databáze prostě nahlásí chybu:
Msg 8115, Level 16, State 1, Line 4
Arithmetic overflow error converting IDENTITY to data type int.
Arithmetic overflow occurred.
Zkusit se to dá snadno, vytvoříte tabulku s dostatečně velkou počáteční hodnotou IDENTITY fieldu a přidáte do ní pár záznamů:
create table test (
id int not null primary key identity(2147482648,1),
data int
)
declare @i int;
set @i = 1;
while (@i < 2000) begin
insert into test (data) values (5);
set @i = @i + 1;
end
Řešením je použít BIGINT, tam už je těžko představitelné, že byste se dostal mimo rozsah.
|