Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-12-2010
Pedro Nel Ortiz Pedro Nel Ortiz is offline
Registrado
 
Registrado: feb 2008
Posts: 6
Poder: 0
Pedro Nel Ortiz Va por buen camino
Problema con store procedure

Hola Buenos días...

Tengo un inconveniente con un store procedure cuando ejecuto este por firebird o por delphi el valor que me arroja es null este es el store procedure.

gracias si me pueden ayudar porque ya vi por todos lados y no se cual es el inconveniente ...

Código SQL [-]
CREATE PROCEDURE P_VR_INCAPACIDAD (
  COMP_BAS Double Precision, 
  DIAS_INCAP Double Precision)
 returns (
  VR_INCAP Double Precision)
AS

begin
  VR_INCAP=(COMP_BAS/30)*DIAS_INCAP;
end ^^

Última edición por Casimiro Notevi fecha: 03-12-2010 a las 19:16:03. Razón: Poner etiquetas [sql] código fuente [/sql]
Responder Con Cita
  #2  
Antiguo 03-12-2010
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 pedro.

Probá de este modo:
Código SQL [-]
CREATE PROCEDURE P_VR_INCAPACIDAD(COMP_BAS DOUBLE PRECISION, DIAS_INCAP DOUBLE PRECISION)
RETURNS (VR_INCAP DOUBLE PRECISION)
AS
BEGIN
  VR_INCAP = CAST((COMP_BAS/30) * DIAS_INCAP AS DOUBLE PRECISION);
END

Saludos .
Responder Con Cita
  #3  
Antiguo 03-12-2010
Pedro Nel Ortiz Pedro Nel Ortiz is offline
Registrado
 
Registrado: feb 2008
Posts: 6
Poder: 0
Pedro Nel Ortiz Va por buen camino
Error Store procedure

Gracias por responder:

Lo intente creandolo como me dijo, pero igual me sigue sin realizar la operacion

no se si es inconveniente cuando ejecuto el store procedure

lo hago con la siguiente linea:

Execute procedure p_vr_incapacidad 1,2

y la respuesta por parte del ibconsole y en delphi es un parametro nulo

probe con el work bench que es una herramienta para administracion de bases de datos firebird y en este si me da respuesta de lo que necesito, pero al realizarlo en delphi 2007 o por sql atravez del ibconsolo la respuesta continua siendo nula

alguna otra sugerencia????
Responder Con Cita
  #4  
Antiguo 03-12-2010
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Te hace falta la palabra reservada suspend:

Código SQL [-]
CREATE PROCEDURE P_VR_INCAPACIDAD(COMP_BAS DOUBLE PRECISION, DIAS_INCAP DOUBLE PRECISION)
RETURNS (VR_INCAP DOUBLE PRECISION)
AS
BEGIN
  VR_INCAP = CAST((COMP_BAS/30) * DIAS_INCAP AS DOUBLE PRECISION);
  SUSPEND;
END


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #5  
Antiguo 03-12-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Pedro Nel Ortiz Ver Mensaje
Execute procedure p_vr_incapacidad 1,2
También supongo que lo pones entre paréntesis: p_vr_incapacidad(1,2)
Responder Con Cita
  #6  
Antiguo 03-12-2010
Pedro Nel Ortiz Pedro Nel Ortiz is offline
Registrado
 
Registrado: feb 2008
Posts: 6
Poder: 0
Pedro Nel Ortiz Va por buen camino
aun Sigue mostrandome el null

Hola de nuevo ...
volvi a crear el stored procedure con la palabra suspend.... pero cuando lo ejecuto no me arroja el valor de la operacion, sigue saliendo null


gracias
Responder Con Cita
  #7  
Antiguo 03-12-2010
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Para obtener un valor desde el procedure hay dos formas:

Via un select
Código SQL [-]
select * from P_VR_INCAPACIDAD(1, 2)

vía execute procedure
Código SQL [-]
execute procedure P_VR_INCAPACIDAD 1, 2
returning_values :variable

A lo mejor el problema está ahí...

Si no, verificar que los valores que mandas como parámetro no produzcan un error y es por eso que no te devuelve nada el procedimiento...


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #8  
Antiguo 03-12-2010
Pedro Nel Ortiz Pedro Nel Ortiz is offline
Registrado
 
Registrado: feb 2008
Posts: 6
Poder: 0
Pedro Nel Ortiz Va por buen camino
LISTO GRACIAS EFECTIVAMENTE ERA LA FORMA COMO SE REALIZA LA CONSULTA, NO ME SABIA LO DEL SELECT...

PARA FUTURAS PERSONAS QUE TENGAN ESTE INCONVENIENTE LO QUE HAY QUE HACER EN DELPHI ES CREAR UN QUERY MAS O MENOS ASI:

select VR_INCAP from P_VR_INCAPACIDAD(:UNO,OS)

Y AL MOMENTO DE EJECUCION PASAR LOS PARAMETROS

MUCHAS GRACIAS A TODOS POR SU TIEMPO Y SU INCONDICIONAL AYUDA !!!
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
Store procedure sancarlos MySQL 3 30-01-2008 19:51:49
Store Procedure sépoco MS SQL Server 5 10-01-2008 16:11:54
Problema con Store Procedure en SQL SERVER Kenlyr Varios 3 10-03-2007 23:38:43
Problema con entrecomillado en sentencia select in dentro de un Store Procedure Caballero Negro MS SQL Server 3 12-01-2007 02:46:37
store procedure ronimaxh Firebird e Interbase 2 24-06-2003 20:20:22


La franja horaria es GMT +2. Ahora son las 17:38:12.


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