Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   consecutivo no trigger (https://www.clubdelphi.com/foros/showthread.php?t=22629)

el_barto 21-06-2005 21:12:05

consecutivo no trigger
 
Hola foro, de los millones de problemas que tengo en mi base ahora me surge uno que me impide trabajar...:( Resulta que tengo una tabla que se llama producto y otra que es subproducto el producto maneja codigos de identificacion como 100, 200, 300 pero el subproducto se identifica con el codigo del producto y se le agregaun indicador por ejemplo

CODIGO ITEM NOMBRE
100 1 TELEFONO SAMSUNG
100 2 TELEFONO KYOCERA
100 3 TELEFONO SONY

el campo item lo intente generar con un tigger pero ocurre un problema si yo he creado los 3 registros mostrados en el ejemplo anterior y deseo crear un codigo nuevo por decir 200 miren lo que pasa:

CODIGO ITEM NOMBRE
200 4 TELEVISOR SAMSUNG
200 5 TELEVISOR KYOCERA

Como podria hacer para que item sea generado automaticamente pero que tome en cuenta el codigo y cuando sea un nuevo codigo empiece desde uno y cuando no sea nuevo entonces tome el ultimo valor y se incremente

UFFF le agradeceria a cualquiera que me pudiera ofrecer una solucion

jachguate 21-06-2005 22:49:00

Podes, siempre en un trigger, buscar el mayor que se corresponda con el rango y le sumas uno.

Hasta luego.

;)

el_barto 21-06-2005 23:38:45

:eek: Se Puede Hacer Eso :eek: los huevos¡¡¡¡ no sabiaaaa, pero tendria que tener en cuenta el codigo del producto tambien verdad?? :confused: , bueno no tengo ni idea de como se hace pero voy a intentar

afxe 22-06-2005 10:22:07

Una ayudita para el Trigger
 
Voy a suponer que trabajas con Interbase/Firebird:

En el trigger BEFORE INSERT haz algo parecido a esto:

Código:

 
AS
  DECLARE VARIABLE MaxItem INTEGER;
BEGIN
  SELECT MAX(ITEM) FROM SUBPRODUCTOS
          WHERE CODIGO = NEW.CODIGO
          INTO :MaxItem;
  NEW.ITEM = MaxItem + 1;

END

Espero haberte ayudado y que el mensaje salga bien... soy nuevo en esto.

el_barto 22-06-2005 15:04:37

Gracias viejo lo acomode a mi necesidad y sale muy bien

Bienvenido¡¡¡¡

Juanito-Kun 08-07-2005 19:00:45

consecutivo no trigger
 
Hola que tal...

En SQL server como quedaria.. tienen alguna idea..


Gracias y Saludos...



;)

jachguate 11-07-2005 16:52:23

La idea sigue siendo válida, solo hay que "pensarla" en TSQL.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 22:40:55.

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