`

触发器练习

 
阅读更多
语句触发器:

所谓语句触发器就是当执行insert,update,delete的前后(before,after)执行的各种操作。
create table tt(
id number(2)
)

create table tt_log(
who varchar(16),
when date
)

create or replace trigger tt_tri
after insert or update or delete
on tt
begin
    insert into tt_log values(user,sysdate);
    end;
    /
    
insert into tt values(5)

select * from tt_log




行触发器:
实现表person主键值id递增
create table person(
id number(2) primary key,
name varchar(16)
)

create sequence person_seq start with 1 

desc person_seq

create or replace trigger bifer_person_id_PK
before insert 
on person
for each row
begin
    select PERSON_SEQ.nextval
    into :new.id
    from dual;
 end;
 /
 
 desc dual
 
insert into person(name) values('aa')
 
insert into person(id,name) values(11,'bb')
  
insert into person(name) values('cc')
   
select * from person



instead of触发器

  create table person(
id number(2) primary key,
name varchar(16)
)
 create or replace view person_view
   as
   select * 
   from
   person
   
   create or replace trigger update_person_view
   instead of update
   on person_view
   begin
        update person
        set id = :new.id,
            name = :new.name
        where id = :old.id;
   end;
   /
   
 update person_view set name='postino1111111' where id=1
 
 select * from person

如果提示用户没有创建view的权限,换个具有dba权限的用户登录执行:grant create view to 用户名



用户事件触发器;
实现当用户删除所拥有的对象时,将对象的名称和类型以及删除时间写入日志记录表dropped_objects

 create table dropped_objects(
 object_name varchar(32),
 object_type varchar(32),
 dropped_time date
  )
  
  create or replace trigger drop_object_tri
  before drop
 on test.schema
 begin
        insert into dropped_objects
        values (ora_dict_obj_name,ora_dict_obj_type,sysdate);
 end;
 /
 
 create table test2(
 id number(2)
 )
 
 create or replace view test2_view
 as
 select * 
 from test2
 
 drop view test2_view
 
 drop table test2
 
 select * from dropped_objects
分享到:
评论

相关推荐

    SQL-Server2008触发器练习题

    ### SQL Server 2008 触发器练习题解析 #### 1. 创建触发器 **背景介绍:** 在本练习中,我们基于一个学生信息管理系统进行触发器的创建与测试。该系统包含了几个主要的数据表:学生信息表(`student`)、班级信息...

    SQL数据库触发器练习题

    在SQL数据库中,触发器(Triggers)是一种存储过程,它们在特定的数据库操作(如...通过以上的理论知识和实践练习,你可以深入理解SQL数据库触发器的概念,掌握如何在实际项目中运用它们来增强数据管理和业务流程。

    数电触发器练习题PPT课件.pptx

    数电触发器练习题PPT课件.pptx

    江苏中职触发器练习题.doc

    "江苏中职触发器练习题.doc" 该资源汇总了触发器相关的知识点,涵盖了 RS 触发器、D 触发器、JK 触发器、T 触发器、时钟有效边沿、稳定状态、时序电路、计数器、移位存放器、施密特触发器等方面的知识点。 知识点 ...

    触发器练习题代码.sql

    触发器练习题代码.sql

    数电触发器练习题PPT学习教案.pptx

    数电触发器练习题PPT学习教案.pptx

    powerpoint的交互实现触发器练习PPT学习教案.pptx

    powerpoint的交互实现触发器练习PPT学习教案.pptx

    触发器练习题PPT课件

    本章主要探讨了四种常见的触发器类型:RS触发器、JK触发器、D触发器以及T触发器。 **RS触发器**是最基本的双稳态触发器,有两个控制输入端(RD和SD)和两个互补输出端(Q和Q')。RS触发器的输出状态不仅取决于当前...

    触发器练习答案(附有测试文档)

    本练习通过几个具体的例子来展示了触发器的设计和实现方法。 ### 练习1:SC表与SC_NUMBER表的联动触发器 #### 触发器设计要点 1. **SC表**:记录学生的选课信息。 2. **SC_NUMBER表**:包含学生学号和其选课数量...

    数据库SQL增删改查、视图、触发器练习题

    3. sql练习_触发器.docx 4. sql练习_单表查询.docx 5. sql练习_多表查询.docx 6. sql练习_集合运算.docx 7. sql练习_嵌套查询.docx 8. sql练习_数据库表结构.docx 9. sql练习_增删改_视图_权限.docx

    oracle-触发器练习.pdf

    通过这些实践练习,开发者可以深入学习触发器在不同业务场景下的应用,从而提升自身的数据库开发能力。 在触发器的定义和实现过程中,需要对触发事件进行准确的定义,比如是在BEFORE还是AFTER触发,是在哪种数据...

    oracle练习题关于触发器的作业

    在这个练习中,你可能还会遇到如何调试触发器、管理触发器的执行顺序、以及处理嵌套触发器的问题。理解触发器的工作原理和最佳实践,可以帮助你在解决实际问题时避免潜在的性能问题和数据不一致性。 总之,Oracle...

    oracle触发器

    ### Oracle触发器详解 在Oracle数据库管理中,触发器是一种非常强大的工具,它允许你在特定的数据库事件(如数据插入、更新或删除)发生时自动执行预定义的SQL语句或PL/SQL代码块。这使得数据库能够在无需外部程序...

    基于SQLserver的学生选课系统

    十、 触发器练习 创建触发器,当Student表中的数据发生变化时(插入、更新、删除),自动修改Dept_age表中的数据(提示,需要两个触发器) (1)当在Student表中插入或修改学生信息时,在Dept_age更新或插入数据 ...

    实验五:触发器、存储过程操作实验2.doc

    1. 建立一个 DELETE 类型的触发器 练习_del,触发动作是显示信息(已删除读者表中的数据)。 2. 建立一个查询指定读者号的阅读信息的存储过程 List_jy,输入参数为读者号,如果没有输入读者号,则要输出提示信息。 ...

    二月二十五号-触发器

    触发器 练习 好有代表性 你会喜欢上他的

    练习利用PLSQL Developer编写和管理存储过程、存储函数和触发器等

    PLSQL Developer中存储过程、存储函数和触发器的编写和管理 PLSQL Developer是一种功能强大的Oracle数据库开发工具,提供了许多功能来帮助开发者快速编写和管理存储过程、存储函数和触发器等高级数据库对象。本文将...

    如何写触发器只要练习这些简单例子

    数据库中的触发器,从简单到复杂,只需急着这些例子,从浅入深学习

    SQL触发器讲义与练习(北大青鸟)

    触发器所有的练习和讲义,非常详细,北大青鸟课程

Global site tag (gtag.js) - Google Analytics