oracle 并行插入语句中带函数报错问题,求高手指教,在线等。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 本帖最后由 v0lcano0l 于 2012-10-22 10:37:35 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为sql语句中有好几个千万级的表,不并行的话又跑不动 1.一个小错,别名有可能混淆: FROM中: noc_mrj.vw_region_new@rim r EXISTS FROM中: rimdb.PUB_FIXED_ASSETS@rim R2.函数ftth_get_vlan_withport中SQL的条件rownum = 1 表示对行数据的针对性弱,所以,该函数可以用下面SQL替代,而不必引用函数: (SELECT MIN(dv.vlan_num) --注意:MIN( )保证一定能返回一行,且no_data_found时,返回NULL。 FROM rimdb.dat_vlan_port_union@rim dvp, rimdb.DAT_VLAN@rim dv WHERE dvp.port_id = rp.port_id --注意,portid 已改为rp.port_id AND dvp.vlan_id = dv.vlan_id AND dv.buz_type = '17150110' AND dvp.delete_state = '0' AND dv.delete_state = '0') --注意rownum = 1已取消3.建议使用存储过程实现。 建议:1。把函数建在远程数据库rim,SQL中如下引用:ftth_get_vlan_withport@rim(rp.port_id)2。先把表建好,然后再用并行插入:insert /*+ parallel(degree 4)*/ into RIM_DSLAM_INFO select /*+ parallel(degree 4)*/ * from table@rim; 进行INSERT,UPDATE,DELETE操作,如果数据量大,最好使用存储过程,单记录操作。避免中途数据问题或意外后数据恢复自动操作,特别是回滚段溢出。 急!!!那位帮忙为小弟看个触发器的问题 求树关系的sql语句 急切 orcale 触发器问题 为什么没有做对应的修改 sql行列转换问题 求一连接查询 找出第一个字段相同,可能其它字段不同,但只记录一条这样的记录 求一条sql语句? 文件导入数据库问题. 请各位帮忙 在线等:怎么用一条sql语句进行三个表和三个以上表的级联搜索? 通过时间段可以查出期间所有人请假的天数 删除索引报错"ORA-01418:sepecified index does not exist" oracle列转行的问题
noc_mrj.vw_region_new@rim r
EXISTS FROM中:
rimdb.PUB_FIXED_ASSETS@rim R
2.函数ftth_get_vlan_withport中SQL的条件rownum = 1
表示对行数据的针对性弱,所以,该函数可以用下面SQL替代,而不必引用函数: (SELECT MIN(dv.vlan_num)
--注意:MIN( )保证一定能返回一行,且no_data_found时,返回NULL。
FROM rimdb.dat_vlan_port_union@rim dvp,
rimdb.DAT_VLAN@rim dv
WHERE dvp.port_id = rp.port_id --注意,portid 已改为rp.port_id
AND dvp.vlan_id = dv.vlan_id
AND dv.buz_type = '17150110'
AND dvp.delete_state = '0'
AND dv.delete_state = '0') --注意rownum = 1已取消3.建议使用存储过程实现。
1。把函数建在远程数据库rim,SQL中如下引用:
ftth_get_vlan_withport@rim(rp.port_id)
2。先把表建好,然后再用并行插入:
insert /*+ parallel(degree 4)*/ into RIM_DSLAM_INFO
select /*+ parallel(degree 4)*/ * from table@rim;