Почему, например, в Oracle SQL нет понятия AUTO_INCREMENT
?
Я так понимаю, для реализации инкриметного ключа в Oracle используется SEQUENCE
.
Но почему этот способ более универсальный и в чем плюсы и минусы использования SEQUENCE
по сравнеию с AUTO_INCREMENT
? Почему Oracle пошла по этому пути?
Почему, например, в Oracle SQL нет понятия AUTO_INCREMENT?
Есть, 2.1.6.3 IDENTITY Columns, и даже называется в соответстви с ANSI стандартом:
Table columns have been enhanced to support the American National Standards Institute (ANSI) SQL keyword IDENTITY.
This provides a standards based approach to the declaration of automatically incrementing columns simplifying application development and making the migration of DDL to Oracle simpler.
Было введено в релизе 12.1.0.1, дата выпуска 2014. Что же всё таки в те времена изменилось?
create table t1 (id number generated always as identity, item varchar2 (32));
insert into t1 (item) values ('first item');
select * from table (dbms_xplan.display_cursor);
----------------------------------------------------------
| Id | Operation | Name | Cost |
----------------------------------------------------------
| 0 | INSERT STATEMENT | | 1 |
| 1 | LOAD TABLE CONVENTIONAL | T1 | |
| 2 | SEQUENCE | ISEQ$$_120741 | |
----------------------------------------------------------
Как видно, при вставке используются всё те же последовательности (sequences), которые будут соданы автоматически (неявно) и получат сгенерированные имена.
Говорить о плюсах/минусах лучше в рамках конкретной задачи с конкретными требованиями, но всё таки несколько замечаний:
IDENTITY
колонки имют ряд ограничений, и это может вывать некоторые "неудобства". Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Что такое # перед селектором в CSS? Чем он отличается оти как это называется, чтоб я смог статейки поискать
Зачем писать макет pixel perfect? Я так понимаю для этого используется Position: relative И отрицательные marginЭто же от одной до трех лишних строк иногда...
Делаю все по пропорциям, все свойства правильные(не факт) и выходит отступ справа, хотя я его не задавалУбрать тоже не получается