oracle 中 view 能否进行update ???

retrieval 2001-07-24 03:18:21
加精
现在想通过view 来进行对表的数据的更新,不知道行不行???
...全文
667 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
chump 2001-07-25
  • 打赏
  • 举报
回复
1:更新视图实际是对其基表更新;
2:更新视图有一定的条件,如sdfh(闻香识女人) 所说,所以retrieval(Lee) 写的更新语句不能执行的!!!
toadnet 2001-07-25
  • 打赏
  • 举报
回复
若不能更新的试图可以用INSTEAD来触发
retrieval 2001-07-25
  • 打赏
  • 举报
回复
create view blastx_view as
select id,bid,descr,hit_beg,hit_end
from blastx,blastx_hsp
where blastx.id=blastx_hsp.fk_blastx_id;


SQL> insert into blastx_view
2 values (2,1,'af',5,6);
insert into blastx_view
*
ERROR 位于第 1 行:
ORA-01779: 无法修改与非键值保存表对应的列

请问这个是什么问题?
guo 2001-07-25
  • 打赏
  • 举报
回复
retrieval写的实际是一个join视图,在没有主键信息时是不能更新基表的.
hzslx 2001-07-24
  • 打赏
  • 举报
回复
我也觉得莫名其妙
supine 2001-07-24
  • 打赏
  • 举报
回复
可以通过视图来更新表吗?视图应该是不能更新的呀,更新视图只有更新他的基表!
feng_zi 2001-07-24
  • 打赏
  • 举报
回复
可以的
guo 2001-07-24
  • 打赏
  • 举报
回复
给"闻香识女人"补个最简单的例子:
create table yorutable (id number(6),name varchar2(10));

create view aview
as
select * from yourtable;
/

insert into aview(id,name) values(1,'guo');
retrieval 2001-07-24
  • 打赏
  • 举报
回复
请说具体点,如果要进行普通的数据插入,怎么建立view
sdfh 2001-07-24
  • 打赏
  • 举报
回复
如果视图查询包括下列结构:连接、集合运算符、组函数、group by子句、connect by或start with子句和distinct运算符,则在视图上不能进行插入、修改和删除操作。
hansonman 2001-07-24
  • 打赏
  • 举报
回复
当然可以拉。。。
retrieval 2001-07-24
  • 打赏
  • 举报
回复
请具体点!:)有文档最好!
ie4888 2001-07-24
  • 打赏
  • 举报
回复
可以,不过有许多的限制:有约束条件的列必须选中、只能更新一有的.....等等,看看有关的文档
retrieval 2001-07-24
  • 打赏
  • 举报
回复
请指教,怎么创建view ??
hailong525 2001-07-24
  • 打赏
  • 举报
回复
可以!和表的操作一样!

2,598

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧