Ir al contenido


Foto

como hacer una Clave primaria con formato....


  • Por favor identifícate para responder
3 respuestas en este tema

#1 mrgeek

mrgeek

    Member

  • Miembros
  • PipPip
  • 20 mensajes

Escrito 27 octubre 2014 - 11:16

Hola a todos....
Me gustaría hacer una clave primaria (para una tabla x) que fuera con un formato especifico pero a la vez autoincremental
por ejemplo:
Si mi página se llamara www.ChileVende.cl
Me gustaría crear una clave tipo CLV-001
Donde la parte 001 se fuera auto incrementando en uno....
Como podría hacer esto......alguna idea seria bien recibida ...
  • 0

#2 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 27 octubre 2014 - 11:54

Saludos.

Una sugerencia, puedes dejar que el campo autoincremental se almacene tal como viene y puedes hacer una de dos:
1.- Crear un campo "código" donde almacenas el valor con el formato deseado.
2.- Formatear a petición  el valor del campo autoincremental.
  • 0

#3 mrgeek

mrgeek

    Member

  • Miembros
  • PipPip
  • 20 mensajes

Escrito 27 octubre 2014 - 12:44

Gracias.
  • 0

#4 cram

cram

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 832 mensajes
  • LocationMisiones, Argentina

Escrito 27 octubre 2014 - 02:19

Sé que está resuelto, pero te sugiero que al utilizar un autoincremental, hagas uso del trigger.
Recientemente, se me ocurrió facilitarme las cosas con la creación de una clave mnemotécnica que sea de tipo alfanumérico pero que explote la posibilidad de autogenerarse.
Los componentes de la clave mnemotécnica que hacen referencia a dos porciones autoincrementales las cambio a alfanuméricas en el trigger.

Un código vale más que palabras, éste es el trigger:



delphi
  1. CREATE TRIGGER AI_ID_GEN FOR GENERO ACTIVE
  2. BEFORE INSERT POSITION 0
  3. AS
  4. BEGIN
  5.   IF (NEW.ID_GEN IS NULL) THEN
  6.       NEW.ID_GEN = LPAD(CAST(GEN_ID(ID_GEN_GEN, 1) AS VARCHAR(3)), 3, '0');
  7. END



De esta manera es posible explotar la potencia de los procedimientos.

Saludos

  • 0




IP.Board spam blocked by CleanTalk.