Re: how do I to generate a sequence Range or Set of integer constants

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

In response to

Browse pgsql-sql by date

  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