identity in oracle
От: yogi Россия  
Дата: 21.10.02 13:37
Оценка:
Недавно пришлось начать работать под Оракл 8й, толком еще ничего не знаю. Но вопросы уже появились. Как реализовать то, что в MS SQL называется IDENTITY column? Буду признателен как за описание, так и за ссылочку...
Путь к сердцу женщины лежать не должен.
Re: identity in oracle
От: Lloyd Россия  
Дата: 21.10.02 13:42
Оценка: 5 (1)
Здравствуйте yogi, Вы писали:

Y>Недавно пришлось начать работать под Оракл 8й, толком еще ничего не знаю. Но вопросы уже появились. Как реализовать то, что в MS SQL называется IDENTITY column? Буду признателен как за описание, так и за ссылочку...


Для этой цели в оракле есть сиквенсы.
Re[2]: identity in oracle
От: yogi Россия  
Дата: 21.10.02 13:55
Оценка:
Здравствуйте Lloyd, Вы писали:

L>Для этой цели в оракле есть сиквенсы.


Да, и правда:

CREATE SEQUENCE id_seq START WITH 1;
...
INSERT INTO some_table VALUES( id_seq.NEXTVAL ...)

Хотя по мне identity всеж удобнее...
Путь к сердцу женщины лежать не должен.
Re: identity in oracle
От: Vlad_P Россия  
Дата: 22.10.02 07:16
Оценка:
Здравствуйте yogi, Вы писали:

Y>Недавно пришлось начать работать под Оракл 8й, толком еще ничего не знаю. Но вопросы уже появились. Как реализовать то, что в MS SQL называется IDENTITY column? Буду признателен как за описание, так и за ссылочку...

Я к сожалению с MS SQL не работал, но из топиков понял, что это механизм, заточенный на
работу с автоинкрементными полями. Возможно и еще для чего-то.
Oracle же не поддерживает такой тип полей. И как правильно Вас нацелили отвечающие, использует генератор
уникальных полей, называемый SEQUENCE. Обычно его используют в триггере BEFORE INSERT.
Смысл его в том, что сначала из него извлекается значение, после чего он автоматически наращивается. На сколько — не буду говорить, т.к. возможны варианты.
А примеры его использования Вы можете найти в документации. Возможно и поиском на сайте.
С уважением Vlad
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.