Hola,
lo he conseguido haciendo esto, pero..
Código SQL
[-]
CREATE OR ALTER PROCEDURE SP_PRUEBA (
IDREGISTRO INTEGER,
CAMPO VARCHAR(15),
VALOR DATE)
AS
DECLARE SENTENCIA VARCHAR(100);
BEGIN
SENTENCIA= 'UPDATE TABLA SET '||:CAMPO ||'= '||CAST(FECHA AS VARCHAR(15))|| ' WHERE IDREGISTRO = '|| CAST(IDREGISTRO AS VARCHAR(10));
EXECUTE STATEMENT SENTENCIA
SUSPEND;
END^
Ahora bien, tengo un problema
SENTENCIA tiene lo siguiente con parámetros 20, FECHAINICIO y 17/01/2010
UPDATE TABLA SET FECHAINICIO = 2010-01-17 WHERE IDREGISTRO= 20
Si ejecuto es SP desde el ibexpert, y me funciona. Si la copio y la ejecuto desde la consola SQL del ibexpert también.
Si ejecuto el SP desde el programa delphi, me falla. Creo que tengo bien realizada la llamada, pero no me ha dado tiempo a revisarla.
Esta noche lo reviso y os cuento, porque en teoría, tendría que funcionar.
Un saludo
Nota: Igual la sintaxis está mal, ya que he escrito el SP 'a pelo' porque realmente es bastante más complejo que este ejemplo.