| From: | Perla <perla_bsas(at)yahoo(dot)com(dot)ar> | 
|---|---|
| To: | pgsql-es-ayuda(at)postgresql(dot)org | 
| Subject: | Execute y Update | 
| Date: | 2010-10-13 15:22:04 | 
| Message-ID: | 929377.40487.qm@web52908.mail.re2.yahoo.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-es-ayuda | 
Buenas! 
ahora tengo un problema con la sentencia EXECUTE para realizar un UPDATE en una función, la función es la siguiente:
 
CREATE OR REPLACE FUNCTION crear_cxm() RETURNS VOID AS 
$$
BEGIN
     EXECUTE 'update datos set $1=$2*$3' USING cxm,cantidad,monto;
END;
$$ LANGUAGE plpgsql;
 
y el error:
ERROR:  no existe la columna «cxm»
LÍNEA 1: SELECT  cxm
                ^
CONSULTA:  SELECT  cxm
CONTEXTO:  PL/pgSQL function "crear_campos_cxm" line 2 at sentencia EXECUTE
 
El campo cxm existe en la tabla y no se porque da el error. La idea es generar una función que permita crear un campo como multiplicación de otros dos campos y que se pueda cambiar el nombre de los campos que se multiplican, hay otra forma de hacerlo?
gracias, 
 
 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | José Ruiz aguilera | 2010-10-13 15:59:25 | Re: Execute y Update | 
| Previous Message | juanramirez | 2010-10-13 14:06:22 | Re: COPY TO |