AutoIncrement поле есть в Постгресе или нет?

Alexey8000
Дата: 17.06.2004 18:40:07
Как такой тип поле мне установить в нем?
если его нет как это мне обойти не подскажите?
yyy
Дата: 17.06.2004 19:08:58
есть sequence как в Oracle

http://www.postgresql.org/docs/7.4/interactive/sql-createsequence.html
Alexey8000
Дата: 17.06.2004 19:33:40
Извините за беспомощность, но я не понял все же как мне использовать этот SEQUENCE. помогите плиз на примере, ну например есть таблица только с айди и наименованием, мне нужно вводить различные наименования и чтоб автоматически генерился айди...
Спасибо заранее
Sad Spirit
Дата: 17.06.2004 19:47:58
CREATE SEQUENCE foo_seq;
CREATE TABLE foo (
    foo_id integer NOT NULL DEFAULT nextval('foo_seq'),
    foo_name text,
    PRIMARY KEY (foo_id)
);
Alexey8000
Дата: 17.06.2004 20:24:17
Спасибо большое!
Все понял.
только вот один моментик: а как просмотреть текущие сиквенсы?
yyy
Дата: 17.06.2004 20:37:01
SELECT currval('your_sequence_name');


http://www.postgresql.org/docs/7.4/interactive/functions-sequence.html
Alexey8000
Дата: 17.06.2004 21:18:21
Нее. неправильно понял. не текущее значение конкретного сиквенса, а сколько вообще и какие сиквенсы созданы в базе! вот. как это поглядеть?
ГАГН 2
Дата: 18.06.2004 07:59:21
\ds

либо

\ds *шаблон*


вообще, можно указывать тип поля SERIAL,
и СУБД создаст необходимый sequencе автоматически
DAISER
Дата: 05.07.2004 11:46:33
А как можно автоинкремент сделать триггером, а не через default?
Например, как в Interbase:
CREATE TRIGGER LOGS_BI0 FOR LOGS ACTIVE
BEFORE INSERT POSITION 0
AS
begin
New.id = gen_id(gen_logs_id, 1);
end
Sad Spirit
Дата: 05.07.2004 16:05:56
можно и триггером, про создание триггеров есть в документации. вопрос, зачем?