1, insert触发器;
2, update触发器;
3, delete触发器;
触发器的组成部分:
触发器的声明,指定触发器定时,事件,表名以类型
触发器的执行,PL/SQL块或对过程的调用
触发器的限制条件,通过where子句实现
类型:
应用程序触发器,前台开发工具提供的;
数据库触发器,定义在数据库内部由某种条件引发;分为:
DML触发器;
数据库级触发器;
替代触发器;
DML触发器组件:
1,触发器定时
2,触发器事件
3,表名
4, 触发器类型
5, When子句
6, 触发器主体
可创建触发器的对象:数据库表,数据库视图,用户模式,数据库实例
创建DML触发器:
Create [or replace] trigger [模式.]触发器名
Before| after insert|delete|(update of 列名)
On 表名
[for each row]
When 条件
PL/SQL块
For each row的意义是:在一次 *** 作表的语句中,每 *** 作成功一行就会触发一次;不写的话,表示是表级触发器,则无论 *** 作多少行,都只触发一次;
When条件的出现说明了,在DML *** 作的时候也许一定会触发触发器,但是触发器不一定会做实际的工作,比如when 后的条件不为真的时候,触发器只是简单地跳过了PL/SQL块;
Insert触发器的创建:
create or replace trigger tg_insert
before insert on student
begin
dbms_output.put_line('insert trigger is chufa le .....')
end
执行的效果:
SQL>insert into student
2 values(202,'dongqian','f')
insert trigger is chufa le .....
update表级触发器的例子:
create or replace trigger tg_updatestudent
after update on student
begin
dbms_output.put_line('update trigger is chufale .....')
end
运行效果:
SQL>update student set se='f'
update trigger is chufale .....
已更新8行;
可见,表级触发器在更新了多行的情况下,只触发了一次;
默认的用户名和密码如下:
1、用户名:sys/change_on_install;密码:SYSDBA 或 SYSOPER。(不能以 NORMAL 登录,可作为默认的系统管理员)
2、用户名:system/manager;密码:SYSDBA 或 NORMAL。(不能以 SYSOPER 登录,可作为默认的系统管理员)
3、用户名:sysman/oem_temp;密码:sysman。
4、用户名:scott/tiger;密码:NORMAL。
5、用户名:aqadm /aqadm;密码:SYSDBA 或 NORMAL。
6、用户名:Dbsnmp/dbsnmp;密码:SYSDBA 或 NORMAL。
扩展资料
plsql主要特性
1、PL/SQL编辑器,功能强大
该编辑器具有语法加强、SQL和PL/SQL帮助、对象描述、代码助手、编译器提示、PL/SQL完善、代码内容、代码分级、浏览器按钮、超链接导航、宏库等许多智能特性,能够满足要求性最高的用户需求。当您需要某个信息时,它将自动出现,至多单击即可将信息调出。
2、集成调试器(要求Oracle 7.3.4或更高)
该调试器提供您所需要的全部特性:跳入(Step In)、跳过(Step Over)、跳出(Step Out)、异常时停止运行、断点、观察和设置变量、观察全部堆栈等。基本能够调试任何程序单元(包括触发器和Oracle8 对象类型),无需作出任何修改。
参考资料来源:百度百科-plsql
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)