Поставяне на редове в таблица, която съдържа полето за автоматично увеличение, интерактивен урок на SQL

Много търговски продукти позволяват да използвате автоматично инкрементиране колоните в таблиците, т.е., на колоната, чиято стойност се генерира автоматично при добавяне на нови записи. Тези колони са широко използвани като първичен ключ на таблицата, защото те автоматично да осигурява уникален поради факта, че генерираните стойности не се повтарят. Типичен пример на колона от този тип е сериен брояч, който генерира при поставяне стойност низ една по-голяма от предишната стойност (стойност, получена при вкарване на предишния ред).

По-долу е пример за създаване на маса с Printer_Inc колона автоматично увеличение (код) в държавите-членки Structured Query Language) - универсален компютърен език, използван за създаване, модифициране и манипулиране на данни в релационна база данни. SQL Server.

Поле се определя от ИДЕНТИЧНОСТ структура автоматично нарастване (1, 1). Където настройка ИДЕНТИЧНОСТ първи имот (1) определя кои ценности ще започнат броенето, а вторият - коя стъпка ще се използва за нарастване ценности. По този начин, в нашия пример, първият запис ще бъде въведена в стойността на колона код е 1, а вторият - 2, и др ...

Тъй като стойността на код поле се генерира автоматично, операторът

ще се провали, дори ако масата не е ред със стойност в по-долу кода, равен на 15. Поради това, по същия начин, както в случая на използване на стойността по подразбиране за вмъкване на редове в таблица просто няма да посочите тази област, т.е.

В резултат на този оператор в Printer_Inc маса ще бъде включен в информацията за модел 3111 цветен лазерен принтер, цената на който е $ 599. В кода ще бъде стойността, която може само от време на време да бъде равна на 15. В повечето случаи, това е достатъчно, тъй като стойността на областта за автоматично увеличение, обикновено носи никаква информация; най-важното, че е уникален.

Въпреки това, има моменти, когато трябва да се замени с много специфично значение в областта на авто-увеличение. Например, искате да прехвърлите съществуващите данни в новосъздадените структури; докато данните, които участват в предаването на "един към много" страна "едно". По този начин, ние не можем да позволим произвол тук. От друга страна, не искам да се откаже от областта за автоматично увеличение, тъй като опростява обработката на данните при последващото функциониране на базата данни.

Тъй като SQL стандарта не предполага наличието на областта за автоматично увеличение, не съществува единен подход. Тук ние показваме как се прилага в MS SQL Server. оператор

деактивира (стойност) или съдържа (OFF) използване autoincrement. Ето защо, за да вмъкнете ред със стойност от 15 в кода на полето, трябва да напишете: