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 16-08-2006
berfer berfer is offline
Miembro
 
Registrado: ago 2006
Posts: 35
Poder: 0
berfer Va por buen camino
Declaracion de Variables

Hola, alguien me puede decir como se puede definir una variable que sea del mismo tipo que el campo de una tabla? seria algo asi

Declare variable pepe as nombretabla.nombrecampo ;

estoy usando firebird y desarrollo con ibexpert y no se como puedo hacer esto, si alguien sabe y me puede ayudar seria un honor para mi.


Gracias
Responder Con Cita
  #2  
Antiguo 16-08-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Creo que no se puede hacer lo que dices, pero puedes probar usando dominios (Domains), esto al menos en Interbase no funciona pero puede que Firebird si tenga esta posibilidad.


Saludos...
Responder Con Cita
  #3  
Antiguo 17-08-2006
berfer berfer is offline
Miembro
 
Registrado: ago 2006
Posts: 35
Poder: 0
berfer Va por buen camino
Hola Maeyanes, he probado lo que me dijistes de usar dominios y no se puede, luego no hay forma de poder asociar el dominio a una variable. Al final lo que hice fue darle el mismo tipo a la variable que al campo de la tabla aunque esto tiene problemas ya que si se cambia el tipo del campo luego puede que el proceso falle a menos que se lo cambies tambien a la varible pero me parece que de momento no nos queda otra.

Muchas gracias
Responder Con Cita
  #4  
Antiguo 11-10-2011
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
Declaracion de variables con dominios

Hola,

Me gustari saber si hoy dia esta solucionado este tema de poder utilizar los dominios de Firebird tambien en las variables o parametros de los procedimientos almacenados.
__________________
Saludos,

Bitman
Responder Con Cita
  #5  
Antiguo 11-10-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Parece ser que desde la versión 2.1 de Firebird ya es posible:

http://www.developeando.com/2008/09/...s-in-psql.html

Ahora, si cambias la definición de algún dominio, aún tienes que recompilar tus procedimientos y disparadores...



Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #6  
Antiguo 11-10-2011
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
Muchas gracias Maeyanes.

Lo pongo aqui para que este mas visible, simplemente hay que utilizar el nuevo keyword TYPE OF en el momento de declarar las variables o parametros:

Código SQL [-]
Now with version 2.1 I can use domain in PSQL. 
I just need to type the domain name if i want to inheriting the check clause and the default value, 
or I can use the TYPE OF keyword if I just want the data type so I can define something like this:


CREATE PROCEDURE INSERT_PRODUCT(
    DESCRIPTION STRING,
    PRICE TYPE OF MONEY,
    ACTIVE BOOL
)
BEGIN
  ...
END

Es una muy buena cosa!

Aunque lo estoy probando desde el EMS IB MANAGER 3 y me da error de keyword no reconocido. Sera por la version del IB MANAGER o porque?

Nota: Utilizo la version de servidor Firebird 2.5
__________________
Saludos,

Bitman

Última edición por Toni fecha: 11-10-2011 a las 17:30:10.
Responder Con Cita
  #7  
Antiguo 11-10-2011
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
Despues de realizar unas pruebas he visto que sino ponia el keyword TYPE OF y ponia directamente el dominio si que podia recompilar el procedimiento almacenado con el IB Manager, aunque me indicaba un error en la precompilación de keyword no reconocido.

Código SQL [-]
Now with version 2.1 I can use domain in PSQL. 
I just need to type the domain name if i want to inheriting the check clause and the default value, 
or I can use the TYPE OF keyword if I just want the data type so I can define something like this:


CREATE PROCEDURE INSERT_PRODUCT(
    DESCRIPTION STRING,
    PRICE MONEY,
    ACTIVE BOOL
)
BEGIN
  ...
END

Donde MONEY es un dominio valido.

Mi sorpresa es que despues de compilar el procedimiento al volver a editar el procedimiento, lo que ha hecho FB o IB MANAGER es buscar el dominio en cuestion y sustituir del codigo del procedimiento el nombre del dominio por el tipo de dato que tienen asignado ese dominio.

Es decir que si despues modifico el dominio y vuelvo a compilar dicho procedimiento ya no esta relacionado con el dominio y no me actualizara el tipo o tamaño de la variable. Por lo que no entiendo para que sirve esto.

Si alguien me puede sacar de dudas si este es el funcionamiento correcto o no de los dominios en los procedimientos. Gracias.
__________________
Saludos,

Bitman
Responder Con Cita
  #8  
Antiguo 11-10-2011
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
Yo siempre lo hago con dominios y no me lo cambia ¿estás seguro?.
Uso ibexpert y flamerobin.
Responder Con Cita
  #9  
Antiguo 11-10-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Tal vez se deba a la versión de la aplicación que usas para administrar tus bases de datos.



Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #10  
Antiguo 13-10-2011
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
He realizado mas pruebas y confirmo que FB2.5 lo realiza correctamente y es una cuestion de mi herramienta que se ha quedado obsoleta al respecto.

Aunque despues de compilar un procedimiento alm. utilizando dominios en los parametros me lo cambia en pantalla por el valor del dominio, si cambio el tamaño del dominio y vuelvo a abrir el procedimiento me sale actualizado el nuevo tamaño, pero no me hace referencia al dominio.

Código SQL [-]
CREATE PROCEDURE INSERT_PRODUCT(
    DESCRIPTION STRING,
    PRICE MONEY,
    ACTIVE BOOL
)
BEGIN
  ...
END

Donde MONEY es NUMERIC(18,3).

Despues de compilar si vuelvo a abrir el procedimiento me muestra:

Código SQL [-]
CREATE PROCEDURE INSERT_PRODUCT(
    DESCRIPTION STRING,
    PRICE NUMERIC(18,3),
    ACTIVE BOOL
)
BEGIN
  ...
END

Donde MONEY es NUMERIC(18,3).

Pero sin embargo si modifico el dominio si que internamente funciona bien y lo actualiza. Pero igualmente no podre utilizarlo porque cuando recompile de nuevo un procedimiento que ha perdido la referencia con el dominio ya se habra liado..

Mas que nada por si alguien le pasa.
__________________
Saludos,

Bitman
Responder Con Cita
  #11  
Antiguo 13-10-2011
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 Toni Ver Mensaje
[..] es una cuestion de mi herramienta que se ha quedado obsoleta al respecto.
Puede que sólo sea un "bug" y lo hayan solucionado, en su web dicen que es compatible con FB2.5 por lo que seguramente deben haber tenido en cuenta ese detalle.
  • Compatible with any Firebird server version up to 2.5
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
variables variables (manual php) salvica PHP 0 25-09-2005 16:44:52
Dónde poner está declaración lucasarts_18 Varios 5 24-04-2005 21:40:35
declaracion de variables... azaagh Varios 4 08-06-2004 15:44:45
Variables silviodp OOP 1 18-05-2004 22:42:57
Haciendo la declaración de la renta... santana Humor 1 14-04-2004 23:02:32


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


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