1.视图触发器语法

2.视图触发器作用

使用视图触发器,可以实现对视图进行增删改时,同时对视图相关的表进行增删改。

强行向视图中插入数据时会报如下错误:

3.视图触发器实例

-- 创建视图触发器,实现向视图中插入数据,可以同时向构成视图的多个表插入数据-- 1.创建两个测试表  登陆信息表t_login  用户详细信息表t_detail
create table t_login(id number(4) primary key,username varchar2(20),password varchar2(20));
create table t_detail(id number(4) primary key,realname varchar2(20),age number(3));-- 2.使用触发器和序列给两个表格实现主键自增功能
-- 2.1创建序列
create sequence seq_login;
create sequence seq_detail;-- 2.2创建触发器
-- 2.2.1给t_login创建主键自增触发器
create or replace trigger trigger_login
before insert on t_login
-- 此处referencing New as newlogin 省略   注意:newlogin是全局变量,所以使用时一定要加冒号:
referencing New as newlogin
for each rowbegin
if :newlogin.id is null thenselect seq_login.nextval into :newlogin.id from dual;
end if;
end;
/-- 2.2.2给t_detail创建主键自增触发器
create or replace trigger trigger_detail
before insert on t_detail
for each row
beginif :NEW.id is null then:NEW.id := seq_detail.nextval;end if;
end;
/-- 测试主键自增功能
delete from t_login;
delete from t_detail;
insert into t_login(username,password) values ('admin','123');
insert into t_detail(realname,age) values ('system',200);-- 3.创建两个表t_login,t_detail查询的结果视图
create or replace view v_login_detail as
select l.id,l.username,l.password,d.realname,d.age from t_login l,t_detail d where l.id=d.id;
-- 查询视图中的数据
select * from v_login_detail;-- 4.测试未使用视图触发器前的,能否实现向视图v_login_detail中插入数据,同时向表t_login,t_detail插入数据
insert into v_login_detail(username,password,realname,age) values('test1','123','scott',30);-- 5.创建视图触发器
create or replace trigger trigger_view_login_detail
instead of insert on v_login_detail
for each rowbegin
insert into t_login(username,password) values (:NEW.username,:NEW.password);
insert into t_detail(realname,age) values (:NEW.realname,:NEW.age);
end;
/-- 创建视图触发器后测试
insert into v_login_detail(username,password,realname,age) values('test1','123','scott',30);

oracle创建视图触发器相关推荐

  1. Oracle创建视图实现获取当前数据所在的页数,这里以每页2条数据分页

    摘要:Oracle创建视图实现获取当前数据所在的页数,这里以每页2条数据分页,详细请看: 一: DROP VIEW MIP.TB_CMS_FLGTINFO_D_VIEW;/* Formatted on ...

  2. Oracle视图添加约束,Oracle创建视图的语法

    Oracle创建视图的语法 导读:就爱阅读网友为大家分享了多篇关于 "oracle 创建序列语法" 资料,内容精辟独到,非常感谢网友的分享,希望从中能找到对您有所帮助的内容. 相关 ...

  3. 创建oracle视图的权限不足,Oracle创建视图view权限不足问题剖析

    问题: 使用USER1等其他用户登录Oracle以后,创建视图,提示"权限不够",怎么解决? 这是因为USER1这个帐户目前没有创建视图的权限. 解决方法为: 首先使用system ...

  4. oracle 视图 其他用户,oracle创建视图中涉及到另外一个用户的表权限不足问题

    oracle创建视图中涉及到另外一个用户的表权限不足问题 在oracle中存储过程或者视图等对象创建时,如果涉及到另外一个用户的表,即使你已经grant dba了,也不行,必须显式地赋予查询权限.否则 ...

  5. oracle select with read only,oracle创建视图的一些总结:包括with check option和with read only...

    oracle创建视图的一些总结: create [or replace][force | noforce] view [user.] viewName (column [,column2]...) a ...

  6. Oracle创建视图,错误ORA-01031: insufficient privileges(权限不足)

    Oracle创建视图,错误ORA-01031:insufficient privileges 1.创建视图 create view 视图名 as select xxx from xxx: 提示ORA- ...

  7. oracle视图如何创建索引,ORACLE 创建视图索引序列

    /* 视图View 视图是从若干基本表和(或)其他视图构造出来的表 视图存放的都是查询语句,并没有真实的数据 虚表 作用 限制对数据的操作 复杂查询变简单 提供相同数据的不同显示 UNION ALL ...

  8. Oracle 创建视图、修改表的约束 创建级联删除触发器、存储过程

    1.创建视图 创建航班表的视图,用于查询航班表的所有信息 create or replace view F_view as select * from Flight; 创建机票表的视图,用于查询机票表 ...

  9. mysql. Oracle创建视图,Navicat 教程:Oracle 视图

    Navicat for Oracle 视图用于访问一组关联(表),就像一个单一的表,并限制访问.视图也可以用来限制访问行(一个特定表的子集).点击"视图"按钮即可打开视图对象列表. ...

最新文章

  1. 如何构建虚拟护士应用程序?
  2. 真 · 圆桌!WAIC论坛上演自动驾驶专家激辩,直面技术路径之争
  3. 150页书籍《PyTorch 深度学习快速入门指南》附PDF电子版
  4. servlet类中@WebServlet 报错,不变色
  5. DL开源框架Caffe | 模型微调 (finetune)的场景、问题、技巧以及解决方案
  6. 电视盒子刷鸿蒙系统,家里的智能电视能装鸿蒙系统吗?鸿蒙系统有哪些优势?...
  7. canoco5主成分分析步骤_主成分分析(PCA)统计与MATLAB函数实现
  8. 计算机相关扩展活动战队名字,有诗意的战队名字大全
  9. 反向题在测试问卷信效度_科学网—调查问卷的信度、效度分析方法(转载) - 谢卫军的博文...
  10. python狗狗年龄换算程序_1分钟检测狗狗是否老了,还有狗年龄换算表,快看你家狗的情况...
  11. a one-way repeated-measures ANOVA
  12. 【案例】某区医院绩效工资分配系统和绩效工资分配优化服务案例
  13. Jzoj5605 Zkb
  14. .net 基于wkhtmltopdf插件,Rotativa包在后端根据html代码生成pdf文件
  15. c/c++静态变量和静态函数
  16. C语言编程>第二十二周 ③ 下列给定的程序中,函数fun的功能是根据整型形参n,计算如下公式的值:
  17. 分类和标注词汇(基于nltk)
  18. 如何利用计算机完成一篇文稿制作,怎么制作美篇-教你打造一篇原创内容撰写步骤...
  19. [转]数学之美-【算法】 - 用来流方式计算UV的基数算法
  20. 关于TCP中文件传输阻塞问题的原因及解决方案和相关优化。

热门文章

  1. goip技术原理图解_12式木人桩模块化技术定型训练 1小念头
  2. 近世代数--整环上的唯一分解问题--唯一分解整环中元素的标准分解式
  3. 美国大学生数学建模竞赛15大热点问题
  4. 什么是informer机制
  5. Linux网络配置与命令
  6. [ARM异常]-ARMV8-aarch64异常和中断处理概念详细介绍
  7. C语言获取数组越界,除以零等异常
  8. FileLocatorPro正则表达式批量搜索文件中的字符串
  9. 【网络安全】红蓝攻防:shellcode的分析
  10. 使用WebStor快速检查你组织网络中的所有网站相关安全技术