Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ SQL\T-SQL ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

FreeBSD and Nix

Общая

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;

 

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


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

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

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

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

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект