Im having trouble with working/returning a %rowtype in pl/pgsql

2 tables:

CREATE TABLE one
(
id int,
tekst varchar(20),
datum timestamp);

CREATE TABLE two
(
id int,
tekst varchar(20),
datum timestamp);


The function:

CREATE FUNCTION object2(integer) RETURNS text AS'
DECLARE
my_row one%rowtype;
fid integer;

BEGIN
fid := $1;

SELECT INTO my_row * FROM one WHERE id=fid;
INSERT INTO two values(my_row); -- <-- is row 9

RETURN null;
END;
'language 'plpgsql';

drop function object2(integer)
select object2(21)

The error:
ERROR: column "my_row" does not exist
CONTEXT: PL/pgSQL function "object2" line 9 at SQL statement

Now i figured, that perhaps, because table one was empty, it couldnt find the specified id.
But i got the very same error when i had a row in table one with id=2.

I prolly am doing something horribly wrong here.. but i just dont see it.

-Ed