Bob Pawley wrote:
Sample 2 below, does not work. From a logical (perhaps naive) extension of Sample 1, I adapted the function to identify which of the serial numbers in table pr is to be transferred to table pi. I am attempting to do this as part of the database structure _not_ as data retrieval. Could someone explain to me why this isn't acceptable as a simple basic function? Could someone explain to me what needs to be changed, enhanced or modified to make this database structure work?
Sample 2 create or replace function base() returns trigger as $$ begin insert into pi (fluid_id) values (new.fluid_id) where pr (contain) = 'ip';
I suppose you mean "where pr.contain = 'ip'" instead? pr is a table, not a function.
You'd be in some interesting trouble if there'd be a function pr(text) returning text - it would evaluate the function with the content of your column and compare the result to your string.
ERROR: syntax error at or near "where" at character 41 QUERY: insert into pi (fluid_id) values ( $1 ) where pr (contain) = 'ip' CONTEXT: PL/pgSQL function "base" line 2 at SQL statement
-- Alban Hertroys ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@xxxxxxxxxxxxxx so that your message can get through to the mailing list cleanly