Update\'s en Forms
Publicado por ELIA (43 intervenciones) el 20/06/2003 12:37:27
Buenos días de nuevo.
Tengo dudas respecto a la forma de actualizar BD mediante forms, a ver si me explico. Quiero actualizar dos campo de un registro que se encuentran en un bloque de datos, entonces 1º selecciono el registro a actualizar de todos los q visualizo, y posteriomente , relleno un item (cantidad) de un bloque de control, q es con el q voy a actualizar los otros dos. A uno de ellos le resto la cantidad y a el otro se la sumo. Entonces me surge la duda, de cual es la forma correcta de actualizar,
mediante UPDATE o directamente.
Cantidad: es el item del bloque de control
:SUGERENCIAS.S_D_A y :SUGERENCIAS.S_R_A son items del bloque de datos,q se correponden con los datos de la BD a actualizar
DECLARE
Disponible NUMBER;
Reservado NUMBER;
BEGIN
Disponible := :SUGERENCIAS.S_D_A - :CANTIDAD;
Reservado := :SUGERENCIAS.S_R_A + :CANTIDAD;
/*OPCION 1 */
:SUGERENCIAS.S_D_A := :SUGERENCIAS.S_D_A - :CANTIDAD;
:SUGERENCIAS.S_R_A := :SUGERENCIAS.S_R_A + :CANTIDAD;
/*OPCION 2 */
update inventario_virtual SET S_D_A= Disponible,S_R_A = Reservado where peso= :SUGERENCIAS.peso;
con la opcion 1 he constatado q los cambios se hacen directamente en la bd, y al salir o haber otro acceso al bloq pide confirmacion para los cambios.
sin embargo la opcion 2 no me funciona,la clausula where no me funciona, intento acceder al registro utilizando un item del bloque, porq no me funciona?? si pongo directamente el valor en la clausula si me funciona. Gracias. Despues tengo duda de si aqui deberás hacer commit.
Tengo dudas respecto a la forma de actualizar BD mediante forms, a ver si me explico. Quiero actualizar dos campo de un registro que se encuentran en un bloque de datos, entonces 1º selecciono el registro a actualizar de todos los q visualizo, y posteriomente , relleno un item (cantidad) de un bloque de control, q es con el q voy a actualizar los otros dos. A uno de ellos le resto la cantidad y a el otro se la sumo. Entonces me surge la duda, de cual es la forma correcta de actualizar,
mediante UPDATE o directamente.
Cantidad: es el item del bloque de control
:SUGERENCIAS.S_D_A y :SUGERENCIAS.S_R_A son items del bloque de datos,q se correponden con los datos de la BD a actualizar
DECLARE
Disponible NUMBER;
Reservado NUMBER;
BEGIN
Disponible := :SUGERENCIAS.S_D_A - :CANTIDAD;
Reservado := :SUGERENCIAS.S_R_A + :CANTIDAD;
/*OPCION 1 */
:SUGERENCIAS.S_D_A := :SUGERENCIAS.S_D_A - :CANTIDAD;
:SUGERENCIAS.S_R_A := :SUGERENCIAS.S_R_A + :CANTIDAD;
/*OPCION 2 */
update inventario_virtual SET S_D_A= Disponible,S_R_A = Reservado where peso= :SUGERENCIAS.peso;
con la opcion 1 he constatado q los cambios se hacen directamente en la bd, y al salir o haber otro acceso al bloq pide confirmacion para los cambios.
sin embargo la opcion 2 no me funciona,la clausula where no me funciona, intento acceder al registro utilizando un item del bloque, porq no me funciona?? si pongo directamente el valor en la clausula si me funciona. Gracias. Despues tengo duda de si aqui deberás hacer commit.
Valora esta pregunta


0