我建了一个视图视图角本如下。
法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'); 请问这两种建视图的方法,那种可以往视图里写入数据?
还是两种都可以?如果两种都不可以,我该用怎么样的方法进行连立,才能进行视图的数据写入操作???在线急等,请帮忙。
法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'); 请问这两种建视图的方法,那种可以往视图里写入数据?
还是两种都可以?如果两种都不可以,我该用怎么样的方法进行连立,才能进行视图的数据写入操作???在线急等,请帮忙。
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上建了主键啊,是SNO和name的联合主键。
是联合主键。我只想往表B里写入数据,不往表A里面写。vc555(学习甲骨文),能把第一种方法说得再清楚一些吗?要在A表上建什么样的主键?