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 09-08-2005
MarioATamborini MarioATamborini is offline
Miembro
 
Registrado: feb 2004
Ubicación: Casilda - Santa Fe - Argentina
Posts: 59
Poder: 21
MarioATamborini Va por buen camino
Procedure

Hola... el problema que tengo es el siguiente por ejemplo

CREATE PROCEDURE ABS (NUMERO DECIMAL(12,2))
RETURNS (ABS_NUMERO DECIMAL(12,2)) AS
BEGIN
IF (NUMERO >= 0) THEN
ABS_NUMERO = NUMERO;
ELSE
ABS_NUMERO = NUMERO * (-1);
END

la creo sin problemas y al querer utilizarlo de la siguiente forma me da error

SELECT
ABS(NUMERO1-NUMERO2) NRO_PSOTIVO
FROM
TABLA

ERROR:
[INTERSOLV][ODBC InterBase driver][InterBase]Dynamic SQL Error, SQL error code = -804, Function unknown, ABS

alguien me puede indicar donde tengo el error que no me puedo dar cuenta o que me esta faltando

saludos y gracias de antemano
Responder Con Cita
  #2  
Antiguo 09-08-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 22
Crandel Va por buen camino
cual es la estructura de tu tabla?
numero1 y numero2 son dos campos de ella?
será:
Código SQL [-]
SELECT
ABS(NUMERO1-NUMERO2) as NRO_PSOTIVO
FROM
TABLA
__________________
[Crandel]

Última edición por Crandel fecha: 09-08-2005 a las 04:45:31.
Responder Con Cita
  #3  
Antiguo 09-08-2005
Avatar de Rufus
Rufus Rufus is offline
Miembro
 
Registrado: may 2004
Ubicación: Canarias
Posts: 193
Poder: 20
Rufus Va por buen camino
Es que estas intentando utilizar un procedimiento como si fuera una funcion y son dos cosas distintas.

Una función, o UDF, si puedes utilizarla de la manera que describes. Por cierto, interbase incluye una UDF llamada ABS.

Un procedimiento almacenado, que es lo que tú tienes, tienes que utizarlo con EXECUTE PROCEDURE.
__________________
Milo
Responder Con Cita
  #4  
Antiguo 09-08-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
resp

Código SQL [-]
Select P.*
From Abs(numero1-numero2) Pr


Select *
From Abs(numero1-numero2)

El procedimiento debe ser tratado como una tabla
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #5  
Antiguo 10-08-2005
MarioATamborini MarioATamborini is offline
Miembro
 
Registrado: feb 2004
Ubicación: Casilda - Santa Fe - Argentina
Posts: 59
Poder: 21
MarioATamborini Va por buen camino
Rufus... como hago para poder utilizar ABS que esta en las UDF que mencionaste???


Gracias a todos
salu2
Responder Con Cita
  #6  
Antiguo 11-08-2005
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Donde instalas firebird
Directorio de firebird\UDF\ib_udf.sql

Ese sql contiene la funcion. Solo ejecutalo.
Pero si quieres solo esa funcion ejecuta solo el codiog d eesa funcion
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
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


La franja horaria es GMT +2. Ahora son las 00:02:25.


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