pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
How To Create Temporary Table inside a function
3+ messages / 3 participants
[nested] [flat]

* How To Create Temporary Table inside a function
@ 2012-03-02 11:23  Rehan Saleem <pk_rehan@yahoo.com>
  0 siblings, 1 reply; 3+ messages in thread

From: Rehan Saleem @ 2012-03-02 11:23 UTC (permalink / raw)
  To: pgsql-sql

hi everyone ,
how can i create temp table say table1 with three column of types varchar , int and int, inside the function body and if that same table already exist it should drop that already existing table(table1) , and on every run this process should run. and how can i insert values from postgresql view say vwfirst to this table(table1)

Here is the MS-SQL code for this process but  i want to know how can this be done in postgresql

if object_id('tempdb..#tblTFSites1') is not null
  drop table tempdb..#tblTFSites1

create table #tblTFSites1(
 Chr varchar(50) NULL,
 Start int NULL,
 [End] int NULL
)

INSERTION PROCESS

INSERT INTO #tblTFSites1 (Chr, Start,[End])
Select Chr_U, Start_U, End_U from vwChrCompareSites where KBId=@ID and UserDataDetailId=@UserDataDetailId 
and bpOverlap >= @bpOverlap and (CentreDistance <= @CentreDistance or @CentreDistance=1)

^ permalink  raw  reply  [nested|flat] 3+ messages in thread

* Re: How To Create Temporary Table inside a function
@ 2012-03-02 11:49  Philip Couling <phil@pedal.me.uk>
  parent: Rehan Saleem <pk_rehan@yahoo.com>
  0 siblings, 1 reply; 3+ messages in thread

From: Philip Couling @ 2012-03-02 11:49 UTC (permalink / raw)
  To: Rehan Saleem <pk_rehan@yahoo.com>; +Cc: pgsql-sql

Hi Rehan

I suggest attempting to drop the table before you create the temp table:
DROP TABLE IF EXISTS table1;

See:
http://www.postgresql.org/docs/current/static/sql-droptable.html


Also if you're using an actual TEMP table, PostgreSQL can automatically
drop the table or just empty it once the transaction is committed:
CREATE TEMP TABLE foo (columns...) ON COMMIT DROP;
CREATE TEMP TABLE foo (columns...) ON COMMIT DELETE ROWS;

See:
http://www.postgresql.org/docs/current/static/sql-createtable.html


As for filling the table, you have two options, INSERT ... SELECT ...
Which is just the same syntax as you've used previously for MS SQL or
create the table with data already in it it:
CREATE TEMP TABLE foo ON COMMIT DROP AS SELECT ...

See:
http://www.postgresql.org/docs/current/static/sql-createtableas.html

Hope this helps.



On 02/03/2012 11:23, Rehan Saleem wrote:
> hi everyone ,
> how can i create temp table say table1 with three column of types
> varchar , int and int, inside the function body and if that same table
> already exist it should drop that already existing table(table1) , and
> on every run this process should run. and how can i insert values from
> postgresql view say vwfirst to this table(table1)
> 
> Here is the MS-SQL code for this process but  i want to know how can
> this be done in postgresql
> 
> if object_id('tempdb..#tblTFSites1') is not null
>   drop table tempdb..#tblTFSites1
> 
> create table #tblTFSites1(
> Chr varchar(50) NULL,
> Start int NULL,
> [End] int NULL
> )
> 
> INSERTION PROCESS
> 
> INSERT INTO #tblTFSites1 (Chr, Start,[End])
> Select Chr_U, Start_U, End_U from vwChrCompareSites where KBId=@ID and
> UserDataDetailId=@UserDataDetailId 
> and bpOverlap >= @bpOverlap and (CentreDistance <= @CentreDistance or
> @CentreDistance=1)
> 
> 




^ permalink  raw  reply  [nested|flat] 3+ messages in thread

* Re: How To Create Temporary Table inside a function
@ 2012-03-02 22:17  Samuel Gendler <sgendler@ideasculptor.com>
  parent: Philip Couling <phil@pedal.me.uk>
  0 siblings, 0 replies; 3+ messages in thread

From: Samuel Gendler @ 2012-03-02 22:17 UTC (permalink / raw)
  To: Philip Couling <phil@pedal.me.uk>; +Cc: Rehan Saleem <pk_rehan@yahoo.com>; pgsql-sql

On Fri, Mar 2, 2012 at 3:49 AM, Philip Couling <phil@pedal.me.uk> wrote:

> Hi Rehan
>
> I suggest attempting to drop the table before you create the temp table:
> DROP TABLE IF EXISTS table1;
>
> See:
> http://www.postgresql.org/docs/current/static/sql-droptable.html
>
>
> Also if you're using an actual TEMP table, PostgreSQL can automatically
> drop the table or just empty it once the transaction is committed:
> CREATE TEMP TABLE foo (columns...) ON COMMIT DROP;
> CREATE TEMP TABLE foo (columns...) ON COMMIT DELETE ROWS;
>
> See:
> http://www.postgresql.org/docs/current/static/sql-createtable.html
>
>
> As for filling the table, you have two options, INSERT ... SELECT ...
> Which is just the same syntax as you've used previously for MS SQL or
> create the table with data already in it it:
> CREATE TEMP TABLE foo ON COMMIT DROP AS SELECT ...
>
> See:
> http://www.postgresql.org/docs/current/static/sql-createtableas.html
>
> Hope this helps.
>

Rehan,

100% of the information in this email is available in the postgresql
documentation in locations where it would be trivially easy to find if any
attempt at all was made to look in the documentation prior to coming to the
mailing list for assistance.

It is fruitless to attempt to work as a database administrator or developer
if you do not first familiarize yourself with its documentation.  The
mailing lists are here to assist users with difficult-to-solve problems,
not as substitute for reading the manual. Answering easily solved questions
takes limited resources away from users who may have more intractable
issues that they need assistance with.

I can't help but notice that this isn't even the first question you've
posed to which responses have included suggestions that you read the
documentation.  Please consider taking our advice.

--sam

^ permalink  raw  reply  [nested|flat] 3+ messages in thread


end of thread, other threads:[~2012-03-02 22:17 UTC | newest]

Thread overview: 3+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2012-03-02 11:23 How To Create Temporary Table inside a function Rehan Saleem <pk_rehan@yahoo.com>
2012-03-02 11:49 ` Philip Couling <phil@pedal.me.uk>
2012-03-02 22:17   ` Samuel Gendler <sgendler@ideasculptor.com>

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox