Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 26-03-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Pues lo mejor, creas un campo que se llame Direccion_Completa y que el usuario no lo pueda modificar.

En un Trigger before insert y before update, lo haces en manual:
Código SQL [-]
create trigger for tabla1
before update before insert  position 0
as
begin 
  if not isnull(new.calle) then
    new.DireccionCompleta = 'Calle ' || new.calle;

  if not isnull(new.numero) then
    new.DireccionCompleta = new.DireccionCompleta || ' nº '  || new.numero;

  if not isnull(new.Dpto) then
       new.DireccionCompleta = new.DireccionCompleta || ' Dpto '  || new.Dpto;
end;
Que const que lo he escrito de memoria y para Firebird, no sé las peculiaridades que tiene Interbase, pero debe funcionar.

Al menos en firebird tienes una udf llamada CONCAT que permite sustituir al operador "||", la verdad, no sé si es estandar del SQL.

Un detalle importante: Yo pregunto si el campo es nulo, pero si has guardado dos guiones, deberás decir: if new.Dpto = "--" then

Cuando quieras la dirección por trozos, accedes a los campos calle, numero, Dpto. Cuando quieras la dirección completa, accedes a ese nuevo campo.

Es lo que se me ocurre de momento, si alguien tiene una idea mejor, bienvenida sea.

Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 26-03-2008 a las 21:27:54.
Responder Con Cita
 



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
Armar un "Actualizador" para mi aplicación martinzcr Varios 3 26-08-2007 18:23:26
Ayuda por favor para armar consulta en firebird Velia Firebird e Interbase 4 21-08-2007 17:37:47
Duda con consulta enecumene Conexión con bases de datos 2 07-03-2007 03:54:41
¿Cómo puedo armar esta consulta? PaFernan99 SQL 4 02-03-2007 14:30:34
Duda en consulta SQL BlueSteel SQL 2 18-05-2005 23:22:27


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


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