ITPub博客

首页 > 数据库 > Oracle > oracle中视图和触发器的简单应用

oracle中视图和触发器的简单应用

原创 Oracle 作者:YoungEric 时间:2007-08-30 11:56:38 0 删除 编辑
[@more@]

Global.XXX表示全局变量,表示XXX在整个Form中都可以使用。

SET_BLOCK_PROPERTY(block_name,property,value1,value2)

第一个参数指定数据块,第二个参数是目标属性

如:SET_BLOCK_PROPERTY(‘emp’,insert_allowed,property_false);

SET_BLOCK_PROPERTY(‘emp’,default_where,’last_name = :global.lname’);

SET_ITEM_PROPERTYSET_ITEM_INSTANCE_PROPERTY

两者的区别在于:前者修改项目的每一个实例的属性,而后者只修改某个特定项目的属性。例如,可以使用SET_ITEM_INSTANCE_PROPERTY来更改值超出了特定范围的项目的背景色,以便识别这种异常情况。它只更改选定的项目,而SET_ITEM_PROPERTY将更改每一个项目。因此,对于识别异常项目,SET_ITEM_PROPERTY不是一个有效的工具,而SET_ITEM_INSTANCE_PROPERTY是一个很有效的工具。

Form_trigger_failure用来停止触发器处理工程。

可以使用Key-Others触发器禁止所有功能键。只需要在其中写入null即可。

触发器前缀

说明

使用示例

例子

Key

这类型的触发器覆盖了通常的功能键功能。例如,一个Key-Entqry(Enter query)触发器是在按将数据块置于Enter-Query模式的功能键时触发的。它们用来代替或者增强控制功能键的一般功能

Key-Entqry触发器可以定义为在执行Enter-Query命令之前将输入焦点移动到一个特定的数据块,如一个主数据块

On

这类型的触发器可以覆盖启动事务。例如,On-Insert触发器中的语句替代了数据块发出的INSERT语句。On触发器覆盖的典型事务是DML操作或表单操作,例如在更改主数据块中的记录之后清除或者重新填充一个细节数据块

On-Insert触发器可以用来在将新值放入表之前将其更改为全部使用大写,或者向不与该数据块相关联的表(如汇总表)添加记录

Post

这类型的触发器可以因为一个数据库事务或表单事件而触发。它们包含了在发生该操作之后执行的辅助语句。与On触发器不同,它们不会替代通常的表单操作。例如,一个Post-Query触发器会在将一个记录取出到数据块之后触发

Post-Query触发器通常用来在数据块中添加描述性信息。例如,EMP表包含了一个名为DEPTNO的列,它是员工的部门号码。可以使用一个Post-Query触发器来返回该员工的部门号码

Pre

这类型的触发器将由于一个数据块事务或表单时间而触发。它们包含在发生该操作之前执行的辅助语句。与On触发器不同,它们不会替代通常的表单操作。例如,一个Pre-Insert触发器会在表单执行一个INSERT语句之前触发

Pre-InsertPre-UpdatePre-Delete触发器经常被定义为安全机制。在发生指定的DML操作时,这些触发器会评估一个安全因素。如果安全检查失败,那么触发器将会终止该DML事务

When

这类型的触发器将由于一个表单操作而触发。例如一个When-New-Form-Instance触发器将在最初启动表单时触发

When-Button-Pressed触发器用于表单按钮。在单击该按钮时,将执行触发器的语句。按钮和When-Button-Pressed触发器用在工具栏上,以打开新模块或者堆叠式画布,或者执行一个查询。

Data Block中的Items中的property中的help中的Display Hint Automatically设置为YES,然后在Hint中写入你所需要的说明,那么,当你的光标停留在该item的时候,在form的左下角就会出现你的说明。如果在Tooltip中输入你的说明,那么,当鼠标停留在该item上,会在该item上显示说明。

内置子程序的名称

说明

Call_form

从应用程序启动另一个表单并保持调用应用程序是打开的。操作员必须返回调用应用程序。

New_form

启动另一个表单应用程序并取代调用应用程序。操作员不能返回调用应用程序。

Open_form

启动另一个表单应用程序并保持调用应用程序是打开的。这个命令允许发生多个数据库连接。

P.S http://hi.baidu.com/skyz/blog/item/0eaa942b661ba4f8e6cd40b5.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10484922/viewspace-967041/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-18

  • 博文量
    79
  • 访问量
    211704