Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-02-2015
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Parsing Error en un Stored Procedure

Pues sigo tratando de aprender firebird

Es correcta mi declaracion de este Stored procedure?

Código SQL [-]
create or alter procedure CUENTATOTAL_3X_1 (
    P_DT_FINAL timestamp not null,
    P_DT_INICIO timestamp not null)
returns (
    P_TOTAL_DIA_3X_1 float,
    P_CUENTA_DIA_3X_1 integer)
as
begin
  /* Procedure Text */
  SELECT COUNT(*) AS p_cuenta_dia_3x_1,
    SUM (Peso) AS p_total_dia_3x_1
    FROM Datos WHERE ((horafecha BETWEEN : p_dt_inicio AND : p_dt_final)
    AND (Equipo = 6)
    OR (Equipo = 7)
    OR (Equipo = 8))
  suspend;
end

Al intentar compilar me manda el error

Cita:
"Parsing Error"
Ya revise la guia de faq's de firebird y me dice que IBExpert es tan "inteligente" que trata de hacer un "parsing" aun antes de tener acceso a Firebird. ¿Entonces que sigue? Tal vez estoy enfocando mal la creacion del SP

Win7 64 bits, Delphi XE2, Firebird 2.5.3.26778

Gracias por su tiempo!!
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?

Última edición por FGarcia fecha: 26-02-2015 a las 00:47:07. Razón: colocar un espacio en el envio de los parametros de entrada para que no aparecieran las caritas
Responder Con Cita
  #2  
Antiguo 26-02-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Fidel.

Según entiendo deseas que devuelva en P_TOTAL_3X_1 la cantidad de filas y en P_CUENTA_3X1 la sumatoria de la columna PESO.

Si no me equivoqué, creo que deberías hacer algo similar a esto:
Código SQL [-]
SET TERM ^ ;

CREATE OR ALTER PROCEDURE CUENTATOTAL_3X_1 (
  P_DT_INICIO TIMESTAMP NOT NULL,
  P_DT_FINAL TIMESTAMP NOT NULL  
)
RETURNS (
  P_TOTAL_3X_1 INTEGER,
  P_CUENTA_3X_1 TYPE OF COLUMN DATOS.PESO
)
AS
BEGIN
  FOR SELECT 
      COUNT(*),
      SUM(PESO)
  FROM DATOS
  WHERE (FECHA >= :P_DT_INICIO AND FECHA <= :P_DT_FINAL) 
        /* resto de la condición ... */
  INTO
    P_TOTAL_3X_1, 
    P_CUENTA_3X_1
  DO
   SUSPEND;
END^

SET TERM ; ^

Saludos

Nota: Para no andar sacando la lengua (costumbre muy fea ) podes usar las etiquetas noparse, Ej.: [noparse]:p[/noparse]_dt_inicio
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 26-02-2015
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Ciertamente estas en lo correcto de cual es el proposito del SP. Como dije el enfoque de la creacion del procedure lo tenia mal.

Dejame probar que todo funcione ok y si no funciona te estare dando mas "molestias"
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error en stored procedure jars SQL 2 19-08-2011 15:13:01
Parsing Error Fita SQL 3 08-02-2011 21:11:35
Captura de GDSCODE Error en Stored Procedure Carlos Hurtado Firebird e Interbase 0 06-12-2005 17:05:15
Error en Stored Procedure en InterBase gluglu Conexión con bases de datos 4 15-03-2005 10:05:55
Error al otorgar permisos a un stored procedure febito Oracle 1 01-06-2004 15:25:57


La franja horaria es GMT +2. Ahora son las 08:24:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi