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 10-07-2004
Choclito Choclito is offline
Miembro
 
Registrado: jul 2004
Posts: 169
Poder: 20
Choclito Va por buen camino
Trigger para actualizar el id de una tabla

bueno tengo dos tablas la cual tienen relacion 1 a muchos las cuales son
table
cuenta (
id char (3),
descripcion varchar (20)) y
la tabla
cuenta2(
id2 char (6),
descripcion varchar (25),
id char (3),
foreign key (id) references cuenta(id))
quiero que la llave de la tabla cuenta2 sea la concatenacion de su llave mas la llave foranea que tiene e hice un triger para esto pero el cual solo realiza para el primer registro y nada mas el triger es el siguiente
COMMIT WORK;
SET TERM ^;
CREATE TRIGGER INSERTAR_PRUEBA FOR CUENTA2
ACTIVE AFTER INSERT AS
BEGIN
UPDATE CUENTA SET ID=ID||'-'||ID2;
END^
SET TERM ; ^
COMMIT WORK;
y la verdad quisiera que me ayuden les estare muy agradecido nose en que estos fallando o talves hay otra forma de hacer que la llave de una tabla sea la concatenacion de su llave mas la llave foranea que tiene la tabla.
Muchas gracias foro esperar realmente que me ayuden.................
Responder Con Cita
  #2  
Antiguo 12-07-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

Pues no debería hacerlo ni para el primer registro. Estás ejecutandolo en un evento AfterInsert, es decir una vez ya se ha creado el registro, por lo que las modificaciones que hagas en las variables new. no se reflejarán en la base de datos. Realízalo en un evento Before Insert.

NOTA: Me parece una chapuza que pongas un valor en un campo (el campo ID) y que un trigger lo modifique automaticamente. Seria mejor que utilizaras dos campos, uno en el que guardes ID2 y otro en el que guardes ID1 || ID2 (que además puede ser un campo calculado de la base de datos (computed by), por lo que no deberías ni darle valor en un trigger).

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 13-07-2004
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
No entiendo para que quiers concatenarlo simplemente cuando lo selcciones selecionalo concatenado si es eso lo quieres

Espero te sea de 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


La franja horaria es GMT +2. Ahora son las 12:04:31.


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