Hello Foxeros!!
El procedimiento almacenado que muestro a continuacion es el codigo de un
TRIGGER que se ejecuta cuando se inserta un nuevo registro en la tabla
"Products". La instruccion "REPLACE Products.ProductID WITH
Autonumbers.Number" me da un error: el registro no se puede actualizar. y
el desencadenante falla. por que? como podria hacer esto de otra manera,
pero siempre manteniendolo en un trigger on insert (ya que me garantiza que
ningun registro se incluira sin su correspondiente numero secuencial.)
PROCEDURE InsertProduct
LOCAL lResult
USE Autonumbers IN 0 ALIAS Autonumbers ORDER Table
IF !SEEK("Product", "Autonumbers")
lResult= .F.
ELSE
IF RLOCK("Autonumbers")
REPLACE Autonumbers.number WITH Autonumbers.number + 1
REPLACE Products.ProductID WITH Autonumbers.Number
lResult= .T.
UNLOCK IN Autonumbers
ENDIF
ENDIF
USE IN Autonumbers
RETURN lResult
Foxpro Version 5.0
German Saer
gsaer@hotmail.com
Orlando, FL 32809
Leer las respuestas