Oracle同时更新一张表很多的字段,求无需将字段全部都列出来的简便方法 我有两张表A、B,结构一样,字段都是200多个,我想将A中的一条记录更新为B中跟它主键一样的那条记录,有什么简便方法吗?我不需要那种将字段全部都列出来的方法啊,也不是太想将记录先删除,再insert的那种方法,兄弟姐妹们大家帮忙一起看看,小弟在此先谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 呵呵,是主要是因为那张表有触发器,会引起其他表的数据变更;其实我说的那两种方法我也不太确定它们的效率哪个更好,由于主键的值是可以事先知道的,我想直接update的效率应该也不低,我的Oracle也就一般吧,想让大家也帮我想想, 所有记录都要更新,还是只更新几条?B中没有触发器吗?B更新或插入了,A也跟着更新。如果按照你说的,只更新那些改变了的字段,那么你又怎么判断哪些字段是改变了的?那这样说是不是要过滤一遍,找到那些更新字段,这不是多此一举吗?还不如直接delete,insert来的快。 确实不好弄 建议 现将触发器禁了 alter trigger tri_name disable;直接删掉 在 insert into a select * from b;然后在启用触发器alter trigger tri_name enable; update除了一个个列出需更新的字段,好像不好一下更新所有字段。 oracle自定义函数问题求助,在线等! TNSListener 启动不了,怎么办?急 急求:Oracle9i 数据容量问题(30分) 如何使用vc存取oracle中的图象数据? 请大家帮我看看这个SQL语句如何写?? 多数据库数据互传问题 急:一句SQL语句的写法 !!!急!!!请问怎么触发C函数的问题? 提取表的结构 exp query中 to_date(a,'yyyy-mm-dd')='ssss-11-22'此类的日期约束条件如何在命令窗口写? 这样的sql怎么写 如何得出每个部门的人数????
其实我说的那两种方法我也不太确定它们的效率哪个更好,由于主键的值是可以事先知道的,我想直接update的效率应该也不低,我的Oracle也就一般吧,想让大家也帮我想想,
B中没有触发器吗?B更新或插入了,A也跟着更新。
如果按照你说的,只更新那些改变了的字段,那么你又怎么判断哪些字段是改变了的?
那这样说是不是要过滤一遍,找到那些更新字段,这不是多此一举吗?还不如直接delete,insert来的快。
建议 现将触发器禁了 alter trigger tri_name disable;
直接删掉 在
insert into a select * from b;然后在启用触发器
alter trigger tri_name enable;