copying few fields into an existing table

From: Alexander Farber <alexander(dot)farber(at)gmail(dot)com>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: copying few fields into an existing table
Date: 2011-10-22 20:31:32
Message-ID: CAADeyWj1paPBdweCW_vbPdz4dpBhGbZ_HVFY89Qx5=ZZxXTS+g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello,

sadly I have to ban few users from my game web
site daily and so I'm trying to write a procedure for
first copying their id, name, city, IP into a pref_ban table
and then erasing their comments and statistics:

create or replace function pref_delete_user(_id varchar,
_reason varchar) returns void as $BODY$
begin

select into pref_ban id, first_name, last_name, city,
last_ip from pref_users where id=_id;

delete from pref_rep where author=_id;
delete from pref_rep where id=_id;
delete from pref_catch where id=_id;
delete from pref_game where id=_id;
delete from pref_hand where id=_id;
delete from pref_luck where id=_id;
delete from pref_match where id=_id;
delete from pref_misere where id=_id;
delete from pref_money where id=_id;
delete from pref_pass where id=_id;
delete from pref_status where id=_id;
delete from pref_users where id=_id;

end;
$BODY$ language plpgsql;

Unfortunately, I can't figure out the correct syntax
for the first operation (copying into existing table)

ERROR: syntax error at "pref_ban"
DETAIL: Expected record variable, row variable, or list of scalar
variables following INTO.
CONTEXT: compilation of PL/pgSQL function "pref_delete_user" near line 3

Using PostgreSQL 8.4.7 @ CentOS 6 / 64 bit.

Any help please?
Alex

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Joe Abbate 2011-10-22 20:43:11 Re: copying few fields into an existing table
Previous Message Adrian Klaver 2011-10-22 20:09:22 Re: 9.0: plpgsql eror when restoring a database as a non superuser