验证项目时转到记录(Oracle Forms)

时间:2013-02-17 18:43:46

标签: forms oracle triggers

我在表(PRODUCTOS)中有一个块,其中包含以下字段:(PRODUCTO_NO(id),DESCRIPCION,PRECIO_ACTUAL,STOCK_DISPONIBLE)

我需要在producto_no字段上编写代码,当执行“ when-validate-item ”时,这会使用正确的数据填充所有字段。

BEGIN
    SELECT producto_no, descripcion, precio_actual, stock_disponible
    INTO   :productos.producto_no, :productos.descripcion, :productos.precio_actual, :productos.stock_disponible
  FROM productos
  WHERE producto_no = :PRODUCTOS.PRODUCTO_NO;

EXCEPTION
    .......
END;

这很好用,但我想使用 insert_record,delete_record,按钮,这不会“冲浪”数据库数据。 有什么方法可以在if-validate-item上使用想要的记录吗?

另一种方式:在我的删除按钮(按下按钮)上我有这个代码:

BEGIN
        DELETE FROM PRODUCTOS WHERE PRODUCTO_NO = :PRODUCTO_NO;
        COMMIT; --2 VECES SI FUNCIONA
EXCEPTION
    WHEN OTHERS THEN
    message('ESE REGISTRO AÚN NO EXIS EN LA BASE DE DATOS. NO SE PUEDE ELIMINAR.');
END;

仅当我按下按钮两次,第一次不起作用时才有效:S

对不起我的英文。非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果我不理解您的问题,请道歉,但如果您有一个基于表的块并且您希望根据同一个表中的条目值填充项目,为什么不使用ENTER_QUERY和EXECUTE_QUERY?< / p>

然后让你的DELETE btn简单地做一个DELETE_RECORD。

我很困惑。