关于Oracle中用连接建视图,急等.
我建了一个视图视图角本如下。
法1,
CREATE OR REPLACE VIEW v_1
AS
SELECT b.* FROM b,a
WHERE a.sno = b.sno(+)
AND a.name = '1000 ';
法2
CREATE OR REPLACE VIEW v_2
AS
SELECT b.* FROM b
WHERE b.sno IN (SELECT a.sno FROM a
WHERE a.name = '1000 ');
请问这两种建视图的方法,那种可以往视图里写入数据?
还是两种都可以?如果两种都不可以,我该用怎么样的方法进行连立,才能进行视图的数据写入操作???
在线急等,请帮忙。
------解决方案--------------------法2
CREATE OR REPLACE VIEW v_2
AS
SELECT b.* FROM b
WHERE b.sno IN (SELECT a.sno FROM a
WHERE a.name = '1000 ');
可以
------解决方案--------------------第二种方法可以,但不知道你是用什么工具插入数据的,不管对错,操作执行完后总该有个反应啊?
第一种方法,不用联合主键,只在A表一个列上设主键。
------解决方案--------------------用user_updatable_columns表能够查询到该表或者视图是否可更新。
如果不行就建立一个替代触发器就可以更新视图了