单表创建的视图是可以增、删、改。多表创建的视图是不能直接进行视图添加等更新。
解决办法:替代触发器。说道这,大家可能就都知道怎么做了。
create or replace trigger 名称
Instead Of Insert or update or delete
on 视图
for each row
Declare
begin
If Inserting Then
Insert Into 基本表1 (t11,t12) Values (:New.f1,:New.f2);
Insert Into 基本表2 (t11,t22) Values (:New.f1,:New.f3);
elsif Updating Then
Update 基本表1 set t11=:New.f1,t12=:New.f2 where t11=:New.f1;
Update 基本表2 set t11=:New.f1,t22=:New.f3 where t11=:New.f1;
elsif Deleting then
Delete from 基本表1 where t11=:Old.f1;
Delete from 基本表2 where t11=:Old.f1;
分享到:
相关推荐
Oracle 创建视图是数据库管理中的一个重要概念,它允许用户创建基于已有表的逻辑视图,以便于数据查询和管理。视图并不实际存储数据,而是作为数据查询的窗口,其内容来自于一个或多个基础表。这使得视图成为数据...
2. **选择表**:连接成功后,用户可以指定要导出INSERT语句的表或视图。这可能是一个或多个表的选择,取决于数据迁移的需求。 3. **设置参数**:用户可能还需要配置一些导出选项,比如是否包含BLOB/CLOB等大型对象...
案例3:基于EMP表和DEPT表创建视图 代码演示:视图 SQL> CREATE OR REPLACE VIEW EMPDETAIL 2 AS 3 SELECT EMPNO,ENAME,JOB,HIREDATE,EMP.DEPTNO,DNAME 4 FROM EMP JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO ...
物化视图是Oracle数据库中一种特殊的数据对象,它保存的是基于一个或多个表(称为基表)的查询结果集,并且这些结果集是物理上存在的。与普通的视图不同,普通视图只是一种虚拟表,在执行查询时才动态地计算结果,而...
在Oracle数据库系统中,表空间(Tablespace)是存储数据对象(如表、索引、视图等)的逻辑单位,而临时表空间(Temporary Tablespace)则用于存储临时数据,比如排序或联接操作产生的中间结果。创建和管理表空间及...
2. **创建视图**: ```sql -- 创建多表视图v CREATE OR REPLACE VIEW v AS SELECT t1.t11 AS f1, t1.t12 AS f2, t2.t22 AS f3 FROM t1, t2 WHERE t1.t11 = t2.t11; ``` 此处创建了一个名为`v`的多表视图,它...
Oracle 视图(View)是一种逻辑表,基于一个或多个实际表,它不占用物理空间,只存在逻辑定义。每次使用视图时,都是重新执行 SQL 语句。视图可以从一个或多个实际表中获得,这些表的数据存放在数据库中。那些用于...
Oracle 视图详解是指在 Oracle 数据库中创建的虚拟表,以便用户可以更方便地访问和操作数据库中的数据。视图的定义是一个基于查询的结果集,可以来自一个或多个实际表或视图,或者甚至来自其他数据源。Oracle 视图的...
Oracle 查看表历史记录和恢复 Oracle 数据库是一种关系型数据库管理系统,具有强大的数据存储和管理能力。然而,在实际操作中,数据库管理员或开发者可能会不小心删除了重要数据,这时候如何恢复这些数据成了一个...
"Oracle中基于多表的可更新视图的实现与应用.pdf" Oracle数据库中基于多表的可更新视图的实现与应用是指在Oracle数据库中,基于多个表的可更新视图的实现和应用。可更新视图是指可以进行插入、修改和删除数据操作的...
在Oracle中,我们可以使用CREATE VIEW语句来创建视图,语法如下: ```sql CREATE VIEW 视图名 AS SELECT 列1, 列2, ... FROM 表名 WHERE 条件; ``` 这个例子中,`视图名`是你想要为视图指定的名称,`SELECT`语句则...
Oracle数据库中的视图是SQL语言的一个重要特性,它允许用户创建虚拟表,这些虚拟表基于一个或多个实际的表或视图。视图提供了一种数据抽象的方式,简化了复杂查询,同时也保护了基础表的数据,因为它们可以被限制在...
2. 创建视图:使用CREATE VIEW语句,可以创建基于特定查询条件的视图,以简化复杂的查询或隐藏敏感信息。 3. 使用视图:视图可以像普通表一样进行SELECT、INSERT、UPDATE和DELETE操作,但更新操作需满足一定条件,...
1. **创建表**:在Oracle中,使用`CREATE TABLE`语句来定义新的表格结构。例如: ```sql CREATE TABLE Employees ( EmployeeID INT PRIMARY KEY, FirstName VARCHAR2(50), LastName VARCHAR2(50), Position ...
一旦外部表创建成功,你可以像查询普通表一样查询外部表。例如,使用`SELECT`语句获取数据: ```sql SELECT * FROM external_table_name; ``` 同时,Oracle提供了`DBA_EXTERNAL_TABLES`视图和`DBA_EXTERNAL_...
- **INSTEAD OF INSERT/UPDATE/DELETE**:对于视图等对象,可以定义INSTEAD OF触发器替代默认的操作。 2. **触发器示例**:创建一个BEFORE INSERT触发器,用于检查新插入的数据是否符合特定条件。 ```sql ...
在Oracle数据库管理系统中,表空间(Tablespace)是存储数据对象(如表、索引、视图等)的逻辑单位。创建表空间是数据库管理的基础,因为它为数据提供了存储空间。下面将详细介绍如何创建表空间以及如何在Oracle中...
- **创建单表视图**:基于一个表创建视图,例如筛选出特定条件的记录。 - **创建多表视图**:涉及两个或更多表的联接查询,将多个表的数据合并成一个视图。 - **创建视图的视图**:在已有的视图基础上创建新的视图,...
Oracle 数据库管理包括创建表空间、创建用户、授权、修改表结构、数据备份和恢复等。 Oracle 提供了多种数据库管理工具,例如 SQL Plus、Oracle Enterprise Manager 等。 Oracle 数据库技术是一个非常重要的数据库...
- 复制生成的表创建脚本到PL/SQL Developer或其他Oracle客户端。 2. **生成序列的创建脚本:** - 返回到序列视图,点击`Sequence Properties`对话框中的`Preview`选项卡。 - 将生成的序列创建脚本复制到表创建...