【发布时间】:2015-01-10 08:21:27
【问题描述】:
在我问我的问题之前,我必须说我正在处理的数据库没有外键,所以我不能制作主从块,因此我正在使用解决方法go_block、clear_block、execute_query 和触发器。
我有一个包含两个块的表单。如果我们假设两个块都填充了信息,并且我想对第一个块执行查询,有没有办法在进入查询模式之前清除另一个块?
e.g.
Block1: ID, NAME, SURNAME
Block2: INFO1, INFO2, ..., Id_block1 etc.
因此,如果两个块上都有信息,并且我在 Block1 上进入查询模式,整个块将被清除,因此我可以输入搜索条件,但第二个块仍然具有上次执行查询的数据。有没有办法清除第二个块上的数据?再次,当我在 Block1 上处于 ENTER-QUERY 模式时,我想清除 Block2 中的数据。
Workflow: Enter-query mode Block1, execute-query Block1, NEW-RECORD-INSTANCE trigger activates (where workflow continues), go_block('Block2'), execute_query on Block2 (with where clause Id_block1 = block1.id).
我正在使用 Oracle Forms 10g。感谢您提供的任何帮助。
【问题讨论】:
-
虽然强烈建议添加参照完整性约束,但您仍然可以在没有添加参照完整性约束的情况下在 Forms 中建立主从块关系。添加详细块时,出现“创建关系”对话框,取消选中“自动加入数据块”,然后手动输入加入条件。
-
对,正如@JeffreyKemp 所说,您可以在没有外键关系的情况下建立主从关系。
标签: oracle plsql oracle10g oracleforms