Как узнать, является ли столбец полем приращения в Oracle? - PullRequest
5 голосов
/ 19 февраля 2011

Как узнать, является ли столбец полем автоматического увеличения в oracle?

1 Ответ

7 голосов
/ 19 февраля 2011

Вы не можете. В Oracle нет полей с автоинкрементом.

Oracle поддерживает последовательности , которые являются отдельными объектами базы данных для генерации чисел. Эти последовательности можно использовать в операторе вставки или в триггере перед вставкой, чтобы сгенерировать значение первичного ключа для новой записи.

Сами поля являются обычным полем, и нет никакой связи между последовательностью и полем.

Таким образом, единственная надежда состоит в том, чтобы проанализировать триггер и посмотреть, сможете ли вы найти доказательства его заполнения с помощью последовательности. Это была бы тяжелая работа, и я сомневаюсь, что вы сможете сделать это достаточно надежным. В конце концов, триггер может запустить функцию, которая возвращает значение, поэтому вам нужно пройти весь путь, если вы хотите быть уверенным.

...