No lo he probado pero he leído que si.
Código SQL
[-]
CREATE PROCEDURE MODIPRO3 (
pcas integer,
pval numeric(9,2),
pmes varchar(6))
as
begin
execute statement 'UPDATE Propietarios SET '|| :pmes || ' = ' || pVal ||' WHERE CASA = ' || pCas;
END
Para concatenar los strings con las variables intercaladas, creo que hay que usar algún operador, pero no estoy seguro, prueba con || (dos tuberías).
La eficiencia es otro tema, esa expresión se compilará al tiempo de ejecutarla, por tanto, es más lento que un update sin expresiones.
Saludos