Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Oracle中可更新视图的默认值_Sql_Oracle_Updatable Views - Fatal编程技术网

Sql Oracle中可更新视图的默认值

Sql Oracle中可更新视图的默认值,sql,oracle,updatable-views,Sql,Oracle,Updatable Views,假设我有如下内容: create table tab ( data varchar2(100), source number ); create view source_1 as ( select data from tab where source = 1 ); create view source_2 as ( select data from tab where source = 2 ); 我想要 insert into source_1 values ( 'hell

假设我有如下内容:

create table tab
(
  data varchar2(100),
  source number
);

create view source_1 as
(
  select data from tab where source = 1
);

create view source_2 as
(
  select data from tab where source = 2
);
我想要

insert into source_1 values ( 'hello' );
要在
选项卡中插入
('hello',1)

同样地:

insert into source_2 values ( 'hello' );
('hello',2)
插入
选项卡

我知道如果只有一个视图,我可以在表上使用默认值,但这对两个视图不起作用


除了在每个视图上插入触发器之外,是否还有其他方法可以执行此操作?

否,这仍然是一个视图而不是一个表。视图不支持默认值,因为它们是逻辑实体,而不是像表这样的物理实体