MySQL - codigo iguales

   
Vista:

codigo iguales

Publicado por Liliana (6 intervenciones) el 01/10/2008 18:21:32
Buenas como andan ???
tengo una duda puede que algo tonta pero es asi

necesita registrar una venta y tengo dos tablas

ventas det_ventas

ambas ademas de otros campos tienen en comun el codigo de venta (codventa)

la pregunta es

si codventa de ventas es autoincrement, como puedo mediante un procedimiento almacenado saber ese valor para otorgarselo a la tabla det_ventas

si el sistema trabajase de forma local hago una consulta en ventas me voy al ultimo le sumo 1 y lo guardo en una variable para despues llevarlo a det_ventas, pero funciona en red por eso queiro que lo haga desde un procedimiento almacenado, no quiere tener que hacer un select para despues hacer un insert

bueno talvez puedo en el mismo procedimiento obtener ese dato y cargarlo en det_ventas
pero no se como hacerlo

trabajo con vb6 y mysql

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:codigo iguales

Publicado por ery (69 intervenciones) el 07/10/2008 12:44:19
Cuando insertes en el maestro puede hacer select last_insert_id() para que te devuelva el valor del auto incremental y lo incorpores en el detalle
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:codigo iguales

Publicado por Liliana (6 intervenciones) el 08/10/2008 06:12:34
Ok muchas gracias pero me podrias dar un ejemplo ???

suponiendo con un solo campo

hago esto ???

siendo codventa autoincremente

create procedure nuevaventa (importetotal decimal(15,2), descuento, codpro int, importe decimal(15,2) )
begin
declare codigoventa int

insert into ventas (importetotal, descuento) values (importetotal, descuento);

set codigoventa = select last_insert_codventa from ventas

insert into det_venta (codventa, codpro, importe) values (codigoventa, codpro, importe);

end

algo asi ?

bueno la verdad es que estoy aprendiendo pero ademas quiero saber dos cosas

como podria obtener esa variable desde vb6 porque si la venta tiene varios productos deberia hacer insert en det_venta varias veces

otra cosa
supongamos que hago begintrans desde vb6 la base de datos se bloquea para los demas usuarios hasta que haga un commit o rollback ???

bueno muchas gracias por ayudarme
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar