Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇒SQL\T-SQL⇒

⇐CISCO
⇐Voice(Asterisk\Cisco)
⇐Microsoft
⇐Powershell
⇐Python
⇐FreeBSD and Nix
⇐1С
⇐Общая
⇐WEB Разработка
⇐ORACLE SQL \ JAVA

TSQL: IDENTITY_INSERT в Автоинкрементном поле IDENTITY


Рассмотрим пример с автоинкрементарным полем и обходом его ограничения

use billing;


--Создаем таблицу с автоинкрементным столбцом
create table test(
    id INT NOT NULL IDENTITY (1,1)
    ,name varchar(10)
);


--Добавляем записи, поле будет увеличиваться автоматом
insert into test(name) VALUES ('Step_1');
insert into test(name) VALUES ('Step_1');


--Теперь вставим значения в обход автоинкремента
SET IDENTITY_INSERT test ON;
insert into test(id, name) VALUES (11, 'Step_2');
insert into test(id, name) VALUES (12, 'Step_2');
insert into test(id, name) VALUES ((select MAX(id) + 5 from billing.dbo.test), 'Step_2');


--Вернем дествие автоинкремента по умолчанию
SET IDENTITY_INSERT test OFF;
insert into test(name) VALUES ('Step_3');
insert into test VALUES ('Step_3');

select * FROM test;

drop table billing.dbo.test;

 

На этом все, желаю удач!


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

© Snakeproject.ru создан в 2013 году. При копировании материала с сайта - оставьте ссылку.


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru