From: | Mulham freshcode <mulhamcode(at)yahoo(dot)com> |
---|---|
To: | aklaver(at)comcast(dot)net, pgsql-sql(at)postgresql(dot)org |
Cc: | Mulham freshcode <mulhamcode(at)yahoo(dot)com> |
Subject: | Re: select into |
Date: | 2006-11-28 02:31:16 |
Message-ID: | 20061128023116.58151.qmail@web90509.mail.mud.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hi Adrian,
Thanks very much for your help...it is a pity you can't do this in plpgsql coz i have almost every thing else I need, and I hate to use yet another language. What does it take to add this mechanism to the language? Is any one planning to add it? It can come it handy I bet.
Thanks again,
Mustafa...
Adrian Klaver <aklaver(at)comcast(dot)net> wrote: On Sunday 26 November 2006 02:45 pm, Adrian Klaver wrote:
>
> I am afraid I can't make it work either.
I could not make it work with pl/pgsql, but I did manage to come up with a
solution using pl/pythonu.
The function is as follows-
CREATE OR REPLACE FUNCTION dat_col_py(text) RETURNS text AS
$Body$
tbl_name=args[0]
cols=plpy.prepare("select column_name from information_schema.columns where\
table_name=$1",["text"])
clean=plpy.prepare("delete from dat_col where table_name=$1",["text"])
clean_tbl=plpy.execute(clean,[tbl_name])
ins=plpy.prepare("insert into dat_col values($1,$2,$3),["text","text","text"])
data_rs=plpy.execute('select * from '+tbl_name)
cols_rs=plpy.execute(cols,[tbl_name])
for i in range(len(data_rs)):
for j in range(len(cols_rs)):
plpy.execute(ins,(tbl_name,cols_rs[j]['column_name'],
data_rs[i][cols_rs[j]['column_name'] ]))
$Body$
LANGUAGE plpythonu;
For this to work I created a table dat_col(table_name text,column_name
text,column_data text). The function deletes old data from the table before
it is run, based on table name. Just run as dat_col_py("table name"). This
assumes you have pl/pythonu installed.
--
Adrian Klaver
aklaver(at)comcast(dot)net
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match
---------------------------------
Cheap Talk? Check out Yahoo! Messenger's low PC-to-Phone call rates.
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2006-11-28 03:00:50 | Re: select into |
Previous Message | Richard Huxton | 2006-11-27 16:34:54 | Re: UNICODE and PL/PGSQL |