Why is this wrong ?: DROP SCHEMA test CASCADE ; CREATE SCHEMA test;
CREATE TABLE test.parent ( id serial PRIMARY KEY, opis text ); CREATE TABLE test.child_data ( id serial PRIMARY KEY, id_parent int , podaci text, FOREIGN KEY (id_parent) REFERENCES test.parent(id) ); CREATE VIEW test.child AS SELECT p.id AS id, p.opis AS opis, c.id AS id_data, c.id_parent AS id_parent, c.podaci AS podaci FROM test.parent p, test.child_data c WHERE c.id_parent = p.id; CREATE FUNCTION test.testfi(test.child) RETURNS bool AS ' DECLARE _NEW ALIAS FOR \$1; BEGIN RAISE NOTICE ''%'',_NEW.opis; INSERT INTO test.parent (id,opis) VALUES (_NEW.id,_NEW.opis); INSERT INTO test.child_data (id,id_parent,podaci) VALUES (_NEW.id_data,_NEW.id,_NEW.podaci); RETURN TRUE; END; ' LANGUAGE 'plpgsql'; CREATE RULE child_ins AS ON INSERT TO test.child DO INSTEAD SELECT test.testfi(NEW); INSERT INTO test.child(id,id_data,opis,podaci) VALUES (1,1,'Opis','podaci'); Gives: (-403)ERROR: cannot handle whole-row reference Can I pass NEW & OLD from rule into function in any way ? Any suggestions ? Regards ! ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend