Ver Mensaje Individual
  #2  
Antiguo 18-01-2010
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Reputación: 24
fjcg02 Va camino a la fama
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
  /* Procedure Text */
   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.
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -

Última edición por fjcg02 fecha: 18-01-2010 a las 10:01:56. Razón: Resaltar sintaxis y corregir SP
Responder Con Cita