Re: Subselects not allowed?
От | Andreas Kretschmer |
---|---|
Тема | Re: Subselects not allowed? |
Дата | |
Msg-id | 20110611152340.GA9062@tux обсуждение исходный текст |
Ответ на | Subselects not allowed? (Leif Biberg Kristensen <leif@solumslekt.org>) |
Ответы |
Re: Subselects not allowed?
|
Список | pgsql-sql |
Leif Biberg Kristensen <leif@solumslekt.org> wrote: > Can anybody tell me why this doesn't work? > > pgslekt=> CREATE SEQUENCE sources_source_id_seq START WITH (SELECT > MAX(source_id) FROM sources); > ERROR: syntax error at or near "(" > LINE 1: CREATE SEQUENCE sources_source_id_seq START WITH (SELECT MAX... > ^ > pgslekt=> > > regards, Leif You can't do that, but you can do this: test=# select * from foo;i ----9899 (2 rows) Time: 0,146 ms test=*# \ds seq_foo; No matching relations found. test=*# do $$ declare m int; begin select into m max(i) from foo; execute 'create sequence seq_foo start with ' || m; end;$$; DO Time: 1,115 ms test=*# \ds seq_foo; List of relationsSchema | Name | Type | Owner --------+---------+----------+------------public | seq_foo | sequence | kretschmer (1 row) test=*# select * from seq_foo;sequence_name | last_value | start_value | increment_by | max_value | min_value |cache_value | log_cnt | is_cycled | is_called ---------------+------------+-------------+--------------+---------------------+-----------+-------------+---------+-----------+-----------seq_foo | 99 | 99 | 1 | 9223372036854775807 | 1 | 1 | 1 | f | f (1 row) I'm using 9.1Beta, but it works since 9.0, see: http://www.depesz.com/index.php/2009/11/01/waiting-for-8-5-do/#more-1535 Andreas -- Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) "If I was god, I would recompile penguin with --enable-fly." (unknown) Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°
В списке pgsql-sql по дате отправления: