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.
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 |