Ver Mensaje Individual
  #3  
Antiguo 03-06-2003
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Reputación: 22
lbuelvas Va por buen camino
Hola campeones,

interesante pregunta, pues bien si estas trabajando en Delphi podrias hacer como yo hago.

Lo primero es como bautizar una tabla temporal, desde mi punto de vista el nombre de la tabla debererian empezar por la palabra TEMPORAL_ (utilizo TEMP_) luego una palabra que indique el proposito (unr ejempo para montar unos carnes puede ser CARNE) y por ultimo el nombre del usuario porque puede ser que dos usuarios entren al mismo proceso y se armaria el lio.

Un ejemplo completo TEMP_CARNE_SYSDBA.

Lo segundo (y en eso contradigo de manera respetuosa a IVAN) es que solo debe crearse una vez si dicha tabla temporal es de frecuente uso.

Utilizio un codigo como este

Código:
    if not _existe_tabla ('TEMP_CARNET_' + _user_name,IBTransaction1) then
      _crear_tabla_sql('TEMP_SICARNETIZADOS_' + _user_name,
                       'ID_AFILIADO   Integer Not Null PRIMARY KEY, ' +
                       'FECHA_ENTREGA DATE,  '   +
                       'NUMERO_HOJA   INTEGER',
                       IBTransaction1)
    else
      _prepara_sql(Query_Especial,'delete from TEMP_SICARNETIZADOS_' + _user_name);
loe explico, si no existe la tabla se crea, en caso contrario se limpia su contenido.

Tambien le coloco a los programas una opcion para que el administrador antes de hacer copias de seguridad (y con los usuarios afuera) elimine todas las tablas temporales, cosa que es muy facil pues todas las tablas temporales empiezan por el nombre TEMP_.

Aprovecho para preguntar a Ivan si el TClientDataset puede usarse con los IBX y de que manera pueden evitarse las tablas temporales
__________________
Luis Fernando Buelvas T.
Responder Con Cita