No - I mean when each row of pr (contain) has 'ip' inserted as a value or
data.
Bob
----- Original Message -----
From: "Alban Hertroys" <alban@xxxxxxxxxxxxxxxxx>
To: "Bob Pawley" <rjpawley@xxxxxxx>
Cc: "Postgres General" <pgsql-general@xxxxxxxxxxxxxx>
Sent: Tuesday, November 15, 2005 9:42 AM
Subject: Re: Is it databases in general, SQL or Postgresql?
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 6: explain analyze is your friend