Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-08-2005
reina reina is offline
Miembro
 
Registrado: ago 2005
Ubicación: Capital Federal-La Plata (Bs As)
Posts: 147
Poder: 19
reina Va por buen camino
crear una llave alfanumerica con un generador

hola bueno tengo una pregunta para hacerles, uso interbase y quiero crear un llave primaria que sea por ej 'EMP' + CODIGO..el codigo deberia ser autoincrementable y lo de adelante seria como un prefijo osea que la la llave seria un conjunto de caracteres..alfanumericos, para esto cree aparte un campo codigo que sea parte de la clave, y le cree un generador de autoincrementable y un trigger para que dispare ese generador antes de insertar. Yo deberia modificar el trigger para que convierte ese codigo generado en caractes..y asignarlo al campo ID principal formado por 'EMP ' + CODIGO. Me podrian decir como hago?...bueno aqui les pongo el triger para ver si esta bien echo tambien ...saludoss

AS
BEGIN
/* Trigger body */
if (empmovil."autoID" is null) then
empmovil."autoID"= gen_id("EMPMOVIL_autoID_GEN", 1);

END
Responder Con Cita
  #2  
Antiguo 17-08-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Usa la función CAST de Interbase:

Código SQL [-]
if (new.autoID is null) then
  new.autoID = 'EMP' || cast(gen_id('EMPMOVIL_autoID_GEN', 1) as char(10));

Esto no lo he probado, pero no te debería dar problemas...


Saludos...
Responder Con Cita
  #3  
Antiguo 17-08-2005
reina reina is offline
Miembro
 
Registrado: ago 2005
Ubicación: Capital Federal-La Plata (Bs As)
Posts: 147
Poder: 19
reina Va por buen camino
pregunta de duda

tkss..pero estuve pensando...que pasa si aborto la trasaccion esto se genera =? puedo tener problemas de usar autoincrementables si necesito valores unicos? estos disparadores me parece que no se pueden controlar..o si?
Responder Con Cita
  #4  
Antiguo 17-08-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
No hay problema de que se te repitan valores usando generadores. El problema vendría que al abortar una transacción tuvieras saltos en tus llaves primarias. Por ejempo: EMP1, EMP2, EMP4, EMP5, EMP6, EMP8.


Saludos...
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 22:25:59.


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