Обсуждение: Starting a daemon process on INSERT
Hi all I am writing an application which needs a daemon process to do some activity as soon as certain types of records are added. I don't want the daemon to continuously poll the DB, so I am trying to create a trigger which would send some kind of signal to this daemon (or even start a normal executable which terminates after finishing its job). However I don't seem to be able to accomplish anything trigger driver driven that would launch another external app. elog notices, SQL queries etc. work but I want none of these! Help appreciated. PVS _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
hey. i was wondering if there was anyone out there using the Text::Query module for perl. it's supposed to take a string in the form of altavistas search syntax and produce a where clause for a select statement. i'm looking for some examples if anyone has them. thanks john
Hi all,
I am trying to write a simple plpgsql function that executes a dynamic
function and cannot get the quotes right even after reading the programmer
manual. I just can't seem to get my head around it. This is what I am trying
to do.
CREATE FUNCTION myfunc(float8) RETURNS float8 AS '
DECLARE
dpsql varchar;
dprec RECORD;
a float8;
f float8;
BEGIN
dpsql := 'Select d.a_parm, d.f_parm, d.deltax, d.deltay FROM c_g_datum
WHERE d.datum_id = ' || $1 || ';'; --this sql will only return 1 record
FOR dprec IN EXCECUTE dpsql LOOP
a := dprec.a_parm;
f := dprec.f_parm;
END LOOP;
-- DO SOME CALCUATIONS AND RETURN A FLOAT8 VALUE;
END;'
LANGUAGE 'plpgsql';
So the real question is how do I formate the dpsql string. I have returned
the string and executed an identical string in a querry and it works but for
some reason it bails out in an error when executed dynamically.
Does anyone have any fuctions that demonstrate how to properly quote
concatenated strings? Even after reading the manual I am confused. Thanks
Phillip J. Allen
Consulting Geochemist/Geologist
Lima Peru
e-mail: paallen@attglobal.net
"Phillip J. Allen" <paallen@attglobal.net> writes: > dpsql := 'Select d.a_parm, d.f_parm, d.deltax, d.deltay FROM c_g_datum > WHERE d.datum_id = ' || $1 || ';'; --this sql will only return 1 record > So the real question is how do I formate the dpsql string. You need to double or backslash-escape all those ' marks. Remember that what you are writing is itself one big string literal --- that's how CREATE FUNCTION sees it, anyway. The form depicted above is what you want the value of the string literal to be, after the string-literal parser gets done with it. So, use '' or \' anywhere you need plpgsql to see a '. Somewhere there is a handy page that illustrates how many quote marks to write in various complicated situations. I thought it was at http://techdocs.postgresql.org/ but didn't have much luck finding it. Anyone remember what I'm thinking of? regards, tom lane