Gonbamon
13-12-2007, 16:29:26
Hola.
Soy nuevo en el foro y después de revisar los hilos no he encontrado solución a mi problema:
Uso Firebird 2.0 con SQL Manager 2005 (IBManager).
Tengo un problema con la función SUBSTRING, si la uso en una SELECT normal:
SELECT
HHDOCUMENT.HDCDATEEND,
SUBSTRING(HHDOCUMENT.HDCDATEEND FROM 1 FOR 4)
FROM
HHDOCUMENT
el resultado es correcto. Sin embargo, en cuento intento usar SUBSTRING en una select dentro de un procedimiento almacenado:
CREATE PROCEDURE FINANCES(
CMYCODE_IN VARCHAR(20) CHARACTER SET NONE)
RETURNS(
HDCDATEEND VARCHAR(20) CHARACTER SET NONE,
HDCDATEEND2 VARCHAR(20) CHARACTER SET NONE)
AS
BEGIN
FOR
SELECT
HHDOCUMENT.HDCDATEEND,
SUBSTRING(HHDOCUMENT.HDCDATEEND FROM 1 FOR 4)
FROM
HHDOCUMENT
WHERE
HHDOCUMENT.CMYCODE = :CMYCODE_IN
INTO :
HDCDATEEND,
HDCDATEEND2
DO
SUSPEND;
END
Me da error de sintaxis:
Precompiler Error: Syntax error - FROM.
¿Cúal es el problema?
Gracias de antemano.
Saludos.
Soy nuevo en el foro y después de revisar los hilos no he encontrado solución a mi problema:
Uso Firebird 2.0 con SQL Manager 2005 (IBManager).
Tengo un problema con la función SUBSTRING, si la uso en una SELECT normal:
SELECT
HHDOCUMENT.HDCDATEEND,
SUBSTRING(HHDOCUMENT.HDCDATEEND FROM 1 FOR 4)
FROM
HHDOCUMENT
el resultado es correcto. Sin embargo, en cuento intento usar SUBSTRING en una select dentro de un procedimiento almacenado:
CREATE PROCEDURE FINANCES(
CMYCODE_IN VARCHAR(20) CHARACTER SET NONE)
RETURNS(
HDCDATEEND VARCHAR(20) CHARACTER SET NONE,
HDCDATEEND2 VARCHAR(20) CHARACTER SET NONE)
AS
BEGIN
FOR
SELECT
HHDOCUMENT.HDCDATEEND,
SUBSTRING(HHDOCUMENT.HDCDATEEND FROM 1 FOR 4)
FROM
HHDOCUMENT
WHERE
HHDOCUMENT.CMYCODE = :CMYCODE_IN
INTO :
HDCDATEEND,
HDCDATEEND2
DO
SUSPEND;
END
Me da error de sintaxis:
Precompiler Error: Syntax error - FROM.
¿Cúal es el problema?
Gracias de antemano.
Saludos.