Обсуждение: help with function and quotes
Dear Sirs: Please I am attempting implement a function that update a column to current time + X seconds So the query involved looks like: update mytable set mytime=now+'X seconds'; Here X is a integer value, Now I need implement this on my function, But I have problems at implement this at quotes, e.g. my function could looks like: CREATE FUNCTION addtime(integer) RETURNS INTEGER AS ' DECLARE additional ALIAS FOR $1; BEGIN update mytable set mytime=now()+''additional seconds''; END; ' return 1; LANGUAGE 'plpgsql'; I know probably this doesn't works, justly I have doubts about how to implement this since I want the funtion takes the variable additional , not the string 'additional', What I should to consider? I read the documentation on pqsql language aboute using quotes but none case is resemblance to my case. Can someone tell me an orientation about this? Thank you in advance. Ernesto --------------------------------------------- Este mensaje fue enviado a trav�s de Qnet http://www.qnet.com.pe
Ernesto, > CREATE FUNCTION addtime(integer) RETURNS INTEGER AS ' > DECLARE > additional ALIAS FOR $1; > BEGIN > update mytable set mytime=now()+''additional seconds''; > END; > ' > return 1; > LANGUAGE 'plpgsql'; Please go to techdocs (http://techdocs.postgresql.org/) and read Roberto Mello's revised PL/pgSQL documentation (Roberto, is this part of the main docs, yet?). There's several mistakes in this simple procedure, in addition to the one you asked about. Or you could read the first 2-3 chapters of any book on PL/SQL for Oracle. Then, try this: CREATE FUNCTION addtime(integer) RETURNS INTEGER AS ' DECLARE additional ALIAS FOR $1; BEGIN update mytable set mytime=now()+ INTERVAL( to_char(additional, ''9999'') || '' seconds''); RETURN additional; END;' LANGUAGE 'plpgsql'; -Josh ______AGLIO DATABASE SOLUTIONS___________________________ Josh Berkus Complete informationtechnology josh@agliodbs.com and data management solutions (415) 565-7293 for law firms, small businesses fax 621-2533 and non-profit organizations. San Francisco