Autoincremento

11/08/2008 - 01:48 por Edwin Rivera | Informe spam
hola comunidad en la tabla producto estoy ingresando de esta manera
p1 Leche
p2 Azucar
p3 Mantequilla
p4 Queso
p5 Yogurt
y eliminano el registro p2 y p4
p1 Leche
p3 Mantequilla
p5 Yogurt
despues deseo crear un nuevo producto (Manteca,Vino) y los productos se
deben ingresar en los codigos que faltan
p1 Leche
p2 Manteca
p3 Mantequilla
p4 Vino
p5 Yogurt
bueno no se si me dejo entender si al a hora de ingresar un nuevo producto
debe de ingresar el nuevo codigo en la numeracion que falta en este caso p2 y
p4 o si esta completo se debe crear un nuevo codigo p6(Gaseosa)
Gracias por su respuesta

Preguntas similare

Leer las respuestas

#1 Jesús López
11/08/2008 - 08:40 | Informe spam
En mi opnión no se deberían reutilizar los códigos. Puede dar lugara
confusiones y hace ineficiente la inserción de nuevos registros. Para
insertar un nuevo registro habría que buscar los huecos y para ello es
necesario recorrerse completamete la tabla.

Saludos:

Jesús López
www.soldiq.com



"Edwin Rivera" escribió en el
mensaje news:
hola comunidad en la tabla producto estoy ingresando de esta manera
p1 Leche
p2 Azucar
p3 Mantequilla
p4 Queso
p5 Yogurt
y eliminano el registro p2 y p4
p1 Leche
p3 Mantequilla
p5 Yogurt
despues deseo crear un nuevo producto (Manteca,Vino) y los productos se
deben ingresar en los codigos que faltan
p1 Leche
p2 Manteca
p3 Mantequilla
p4 Vino
p5 Yogurt
bueno no se si me dejo entender si al a hora de ingresar un nuevo producto
debe de ingresar el nuevo codigo en la numeracion que falta en este caso
p2 y
p4 o si esta completo se debe crear un nuevo codigo p6(Gaseosa)
Gracias por su respuesta
Respuesta Responder a este mensaje
#2 UserSQL
11/08/2008 - 10:13 | Informe spam
Te puedes crear una funcionq ue te genere los codigos, luego de esa
funcion seleccionas el codigo que necesitas para tu nuevo articulo.

Entonces:

1º. La función

create function [Fn_Codigos](@inicio int, @final int)
returns @codigos TABLE (numero int, codigo varchar(5))
as
begin
while @inicio <= @final
begin
insert into @codigos (numero,codigo)
values (@inicio, 'p'+convert( varchar(5),@inicio))
set @inicio = @inicio + 1
end
return
end

select * from [Fn_Codigos](1,10)

2º. Utilizas esta funcion en un select para seleccionar los codigos
que no lo tienes en tu tabla articulos.

Me avisas si necesitas mas ayuda.

Saludos.


Helí Campos R.
Respuesta Responder a este mensaje
#3 Edwin Rivera
12/08/2008 - 01:44 | Informe spam
Hola gracias por la respuesta
UserSql he intentado con esta sub consulta

declare @IdProducto int
select top 1 @IdProducto=IdProducto from producto
WHERE IdProducto NOT IN (select numero from [Fn_Codigos](1,10))
select @IdProducto

para capturar el primer codigo que me falta, pero la consulta sale el
primero (1) que ya tengo en la tabla producto, y sin el NOT el valor es NULL

Espero que me oriente en esta consulta por favor Heli Campos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida