`
maziheng
  • 浏览: 58330 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

创建视图触发器

阅读更多

-------创建表----------

create table student( 
sid number primary key, 
sname varchar2(20), 
c_id number 
); 
create table class( 
cid number primary key, 
cname varchar2(20) 
); 

 ----创建视图----

create or repalce stu_cl_v 
as 
select s.sid,s.sname,s.c_id,c.cid,c.cname 
from student s left join class c on s.c_id=c.cid; 

--------创建触发器--------

create or replace stu_cl_v_t 
instead of insert or update or delete on stu_cl_v 
for each row 
declare 
temp int; 
begin 
if inserting then 
  select 0 into temp from dual; 
  select cout(1) into temp from student s where s.sid=:new.sid; 
  if temp0 then 
   update student s set s.sname=:new.sname,s.c_id=:new.c_id where s.sid=:new.sid; 
  else 
   insert into student values(:new.sid,:new.sname,:new.c_id); 
  end if; 
elsif updating then 
  update student s set s.sname=:new.sname,s.c_id=:new.c_id where s.sid=:new.sid; 
elsif deleting then 
  delete from student s where s.sid=:old.sid; 
end if; 
end; 

 ------测试------- 

insert into stu_cl_v(sid,sname,c_id) value(1,'test1',1); 

update stu_cl_v set ... where ... 

delelte from stu_cl_v where ....  
分享到:
评论

相关推荐

    sybase 存储过程,视图 ,触发器等语法大全

    与创建视图类似,但用于更新已有的视图定义。 **示例:** ```sql ALTER VIEW v_EmployeeDetails AS SELECT EmployeeID, FirstName, LastName, Department, Salary FROM Employees WHERE Department = 'IT'; ``` ##...

    oracle 创建视图为读.doc

    Oracle 创建视图为读 Oracle 创建视图为读是指在 Oracle 数据库中创建一个只读的视图,用于封装复杂的查询数据,使得数据更加简洁和易于管理。在本文中,我们将详细介绍如何创建 Oracle 视图、视图的应用场景、创建...

    触发器创建与管理实验 .docx

    触发器创建与管理实验报告 在本实验中,我们将学习触发器的概念、类型、功能和工作原理,并掌握创建、更改、删除触发器的方法。此外,我们还将学习如何利用触发器维护数据完整性。 一、触发器概念和类型 触发器是...

    索引视图触发器PPT学习教案.pptx

    【索引视图触发器】是数据库管理系统中的关键概念,它们在提高数据处理效率和确保数据完整性方面扮演着重要角色。 首先,让我们深入理解【索引】。索引是一种特殊的数据结构,它加速了数据库中数据的检索速度。在...

    数据库原理与应用之视图和触发器

    创建视图时,用户可以指定某些字段,或者使用特定的查询条件,这样当其他用户通过视图访问数据时,他们只会看到定制后的结果。此外,视图也可以用来聚合来自不同表的数据,使得数据分析更为便捷。在实际应用中,视图...

    视图上触发器 & Materialized View 物化视图

    然而,直接在视图上创建触发器并不常见,因为触发器通常用于在数据插入、更新或删除时执行某些操作,而视图本身不存储数据,只提供一种查询数据的方式。但在某些特定情况下,例如当需要在底层表发生变化时自动更新...

    视图、存储过程和触发器的应用(jsp).rar

    在数据库管理领域,视图、存储过程和触发器是三个重要的概念,它们在数据库设计和应用程序开发中扮演着至关重要的角色。特别是在Java Server Pages (JSP)开发中,理解并熟练运用这些技术能够提高应用程序的性能、...

    Sql复杂查询、视图、触发器、索引.rar

    SQL(Structured Query Language)是用于与数据库交互的标准语言,尤其在处理复杂查询、创建视图、设置触发器和优化索引时显得尤为重要。本压缩包文件“Sql复杂查询、视图、触发器、索引.rar”显然是一个针对这些...

    视图、索引、存储过程、触发器使用

    在IT行业的数据库管理领域,视图、索引、存储过程和触发器是四个核心概念,它们各自发挥着关键作用,帮助提升数据库的性能、安全性和维护性。下面,我们将深入探讨这四个概念,并结合给定文件的部分内容进行具体分析...

    触发器创建sql语句

    此外,触发器可以与其他数据库对象(如视图和存储过程)结合使用,以实现更高级的功能。 ### 四、总结 通过使用SQL语句创建触发器,数据库管理员和开发人员可以有效地控制数据的修改过程,确保数据的完整性和一致...

    如何使用SQL语句创建触发器

    - `Grade_modify`在`Student_view`视图上创建了一个INSTEAD OF UPDATE触发器。与AFTER触发器不同,INSTEAD OF触发器在试图进行更新操作时立即执行,而不是在操作完成后。这个触发器的作用是,当尝试更新`Student_...

    SQL语句,创建数据库及表结构,视图及触发器

    通过以上内容的详细介绍,我们可以看到SQL的强大功能,它不仅能够帮助我们高效地管理和操作数据,还能通过创建视图和触发器等高级功能进一步增强数据的可用性和安全性。对于从事IT行业的专业人士来说,掌握这些SQL...

    基于sql server 2005的触发器的创建及操作

    2. 查看和删除触发器:使用SELECT语句从sys.triggers系统视图获取触发器信息,或者使用DROP TRIGGER语句删除不再需要的触发器。 四、注意事项 1. 触发器可能导致数据操作的连锁反应,因此需谨慎设计,避免无限循环...

    oracle创建触发器实例

    Oracle 创建触发器是一种数据库编程技术,用于在特定的数据库事件发生时自动执行一段代码。在这个实例中,我们看到的是一个防止非本地机器执行DDL(Data Definition Language)操作的触发器,比如`TRUNCATE`、`ALTER...

    MySql视图触发器存储过程详解

    创建视图的基本语法如下: ```sql CREATE VIEW 视图名称 AS SELECT * FROM 表名 WHERE 条件; ``` 一旦创建了视图,用户就可以像操作普通表一样进行查询,如: ```sql SELECT * FROM 视图名称; ``` 视图可以被修改,...

    批量创建数据库中所有表的触发器,删除所有触发器

    在给定的"批量创建插入触发器.sql"和"批量创建更新触发器.sql"文件中,很可能包含了用于创建特定类型触发器的SQL脚本。通常,创建触发器的语法如下: ```sql CREATE TRIGGER trigger_name ON table_name AFTER|...

    使用SQL语句创建视图3.ppt

    视图简介和创建视图的知识点 视图简介: 视图是从一个或者多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。视图提供了一个虚表,可以使用户只关心他感兴趣的某些特定数据和他们所负责的特定任务...

    数据库的触发器的创建和使用

    DML 触发器有助于在表或视图中修改数据时强制业务规则,扩展数据完整性。DDL 触发器用于响应各种数据定义语言事件,例如 CREATE、ALTER 和 DROP 语句。 DML 触发器可以进一步分为 AFTER 触发器和 INSTEAD OF 触发器...

    oracle_触发器的种类和触发事件

    替代触发器是定义在视图上的触发器,用来替换对视图进行的插入、删除和修改操作。替代触发器可以用于实现视图的完整性和业务逻辑的实现。 数据库事件触发器是定义在整个数据库或模式上的触发器,由数据库事件引发。...

Global site tag (gtag.js) - Google Analytics