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
  #11  
Antiguo 26-09-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
Yo no uso FB, mas bien MYSQL pero supongo que es el mismo principio ya que no conozco bien los generadores de FB. En MySQL usamos un campo autoincrementado para llevar el control de las claves del registro maestro de manera que un pseudocódigo sería esto:

Código:
Abrimos la transaccion;
 Try 
   Poner la tabla maestra en mode insercion;
   Llenamos los datos de la maestra;
   Agregamos las filas que requiéramos en nuestra tabla detalle dejando en blanco con un valor conocido el campo que lo ligará a la maestra (yo uso -1 por ejemplo)
   Guardamos la maestra;
   Obtenemos el campo autoincrementado que se asignó al registro maestro;
   Sustituimos el campo correspondiente con ese valor en nuestras filas de detalle (que aun no se han guardado)
   Guardamos la tabla detalle (post);
   Aplicamos los cambios (commit)
 Except
   Hacemos un rollback si ocurre cualquier error
 end;
Al menos en MySQL el valor del campo autoincrementado es único por cada conexión y por cada transacción, de manera que nunca se repiten, lo más que llega a pasar es que ocurra un error y la transaccion se aborte por lo que el valor utilizado se pierde pero se garantiza que no lo obtenga cualquier otra conexión. Si no te preocupa dejar huecos en las claves primarias, es una buena solución y bastante sencilla.

En FB supongo que el generador hace lo mismo que el campo autoincrementado, ahí los expertos nos dirán.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
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
Insertar datos de una Tabla a otra usando where... verito_83mdq SQL 5 15-03-2011 19:28:59
Dbgrid para insertar en una tabla pero cogiendo datos de otra tabla taru MySQL 1 27-07-2006 15:36:12
Insertar datos cuando una tabla tiene col con identity La__X SQL 10 21-01-2006 00:27:23
Como insertar datos de una tabla en otra tabla? Salomon Firebird e Interbase 1 28-08-2003 11:29:40


La franja horaria es GMT +2. Ahora son las 17:54:29.


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