Ayuda con Update + Select

From: David Acevedo Salazar <dgacevedo(at)yahoo(dot)es>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Ayuda con Update + Select
Date: 2007-06-26 23:49:10
Message-ID: 4681A5F6.4080304@yahoo.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola.

Tengo una duda para ver si algún conocedor de postgres me pueda
indicar como lo puedo hacer ...
Tengo una update del tipo:

UPDATE I_Ppto_Venta
SET C_Year_ID = (SELECT b.C_Year_ID
FROM ov_presupuesto a, c_year b
WHERE a.OV_Presupuesto_ID =
I_Ppto_Venta.OV_Presupuesto_ID
AND a.C_Year_ID = b.C_Year_ID
AND b.Year =
I_Ppto_Venta.YearName)
WHERE (I_IsImported<>'Y' OR I_IsImported IS NULL)
AND I_ErrorMsg IS NULL;

el cual desde la ventana del pgAdmin puedo ejecutar, pero cuando lo
llevo a una rutina plgsql no me la acepta me indica que hay error antes
del "(" la única forma que tengo para hacer esto es transformarlo a un
string y luego ejecutarlo con EXECUTE ...

-- Actualiza ID del Año
l_sql := 'UPDATE I_Ppto_Venta ' ||
' SET C_Year_ID = (SELECT b.C_Year_ID ' ||
' FROM ov_presupuesto a, c_year b ' ||
' WHERE a.OV_Presupuesto_ID =
I_Ppto_Venta.OV_Presupuesto_ID ' ||
' AND a.C_Year_ID =
b.C_Year_ID ' ||
' AND b.Year =
o.YearName) ' ||
' WHERE COALESCE(I_IsImported, ''Y'') = ''Y'' ' ||
' AND I_ErrorMsg IS NULL ';
EXECUTE l_sql;

existe alguna otra forma de hacerlo ..

Desde ya gracias por su ayuda ...
David Acevedo Salazar.

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Guido Barosio 2007-06-26 23:57:41 Re: Mis primero pasos con Postgresql
Previous Message Erik Rivera Morales 2007-06-26 23:33:09 Re: notificar por correo después de insertar registro