From: | Joe <dev(at)freedomcircle(dot)net> |
---|---|
To: | Stefan Becker <pgsql(at)yukonho(dot)de> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: how do I to generate a sequence Range or Set of integer constants |
Date: | 2007-02-23 19:36:17 |
Message-ID: | 1172259377.736.9.camel@pampa |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Fri, 2007-02-23 at 19:25 +0100, Stefan Becker wrote:
> dear SQL friends,
>
> What I want to do might be done differantly. Right now I can't
> think of another solution other than a select statement
>
> I would like to create a sequence range of integer constants. Join
> this sequence against a ID Range in a database and look for missing
> Id's.
>
> Another application for this would be to simply populate a database with
> say 1000..9999 Records....
>
> Now: Is there a syntax that allows for the following.....
>
> create table XX (id int);
> insert into XX (select xx from "1 to 1000" of integers)
>
> or...
>
> select IntSeq.MissingValues, x.UniqIntId,x.A,x.B,x.C,
> from MyDataTable x
> left outer join
> (
> select MissingValues from "1 to 1000" of integers
> ) IntSeq on MissingValues=x.UniqIntId
>
>
> I'm hoping that someone has done this and might be able to
> point to some function or methode to do this
Maybe something like this will help:
SELECT id
FROM generate_series(1, (SELECT last_value FROM id_seq)) AS s(id)
EXCEPT
SELECT UniqIntId FROM MyDataTable
ORDER BY id;
The id_seq is the sequence on your ID column, assuming it has one, or
you can replace the (SELECT ... FROM id_seq) by 1000.
Joe
From | Date | Subject | |
---|---|---|---|
Next Message | Rajesh Kumar Mallah | 2007-02-23 19:42:23 | Re: selecting random row values in postgres |
Previous Message | Scott Marlowe | 2007-02-23 19:32:44 | Re: how do I to generate a sequence Range or Set of integer constants |