数据库触发器(database triggers)是响应插入、更新或删除等数据库事件而执行的过程。它定义了当一些数据库相关事件发生时应采取的动作。可用于管理复杂的完整性约束,或监控对表的修改,或通知其它程序,表已发生修改。它的类型有:语句级触发器,以及行级触发器,前者可以在语句执行前或执行后被触发。后者在每个触发语句影响的行触发一次。还有before和after触发的命令。在insert,update,和delete之前或之后执行,引用新旧值进行处理。如果需通过触发器设定插入行中的某列值,则为了访问“新(new)”值,需使用一个触发器before insert,使用after insert则不行。Instead of 触发器命令,使用它告诉oracle应执行什么操作。

解决方案 »

  1.   

    第一段SQL语句是建表,不多说,具体语法可参照书本.
    第二段SQL语句是建立一个递增的序列
    第三段SQL语句是建立一个触发器,就是当往userinfo表插入记录之前得出序列中的值,插入到userid中
      

  2.   

    :new.userid :=userid;
    这行我也不清楚,有没有人说说
      

  3.   

    打开 Enterprise Management Console ,看里面的 样例 Schema 比如 HR 等,里面有样例。
      

  4.   

    :new.userid :=userid;表中有个字段为userid,从脚本看来,他是个序列。增加记录时,序列是要自动增长的,所以他写了个触发器,当增加一条记录的时候,首先从序列seq_userinfo 中取出userid的序列值,然后用:new.userid :=userid;给字段赋值。
      

  5.   

    其实这些都是Oracle最基本的问题,完全可以查资料解决,建议你到Oracle网站上下载Oracle的帮助文档,那里面介绍的非常详细,自己查资料解决问题也能加深记忆,提高技术水平啊。