Ver Mensaje Individual
  #5  
Antiguo 27-06-2007
_Willa _Willa is offline
Miembro
 
Registrado: jun 2003
Ubicación: Madrid
Posts: 26
Reputación: 0
_Willa Va por buen camino
Gracias a todos, por las posibles respuestas.

eduarcol el ejemplo que das
Código SQL [-]
CREATE PROCEDURE examplex
RETURNS ( THE_RETURN INTEGER)
AS
BEGIN
   THE_RETURN=10;
   Suspend;
END

Al ejecutar este da el mismo error de siempre
Código:
Dynamic SQL Error
SQL error code = -104
Unexpected end of command
Statement: CREATE PROCEDURE examplex
RETURNS ( THE_RETURN INTEGER)
AS
BEGIN
  THE_RETURN=10
Tras algunas pruebas alfin ya no me dio el error, el tema no es el SUSPEND
q no dudo, que puede influir para otras cosas.
Código SQL [-]
SET TERM ^ ;
CREATE PROCEDURE examplex
RETURNS ( THE_RETURN INTEGER)
AS
BEGIN
   THE_RETURN=10;
   Suspend;
END
^    /* ojo este es el indicador de fin de procedimiento, MUY IMPORTANTE  */
SET TERM ; ^

El tema esta en indicar o dilimitar cuando empieza el procedimiento
y cuando terminal, por defecto en interbase acaba en el ultimo punto y coma
pero como veis en el primer ejemplo, no lo debe controlar muy bien, por eso
lo que se hace es cambiar el delimitador de fin de procedimiento por un
caracter un poco "más desconocido o no usado", en este caso es el ^,
ojo importante al final del ultimo END, del procedimiento poner el ^
ya que si no estaria dando el mismo error de siempre.

Esto de controlar el fin del procedimiento , parece que INTERBASE lo lleva muy a raja tabla!!., y la verdad no se pq no acaba en el ultimo END, que seria
lo más lógico.
Responder Con Cita