SELECT加锁的问题-----ORACLE中

jd29323 2001-11-06 10:25:17
我在存储过程中有:
cursor curRow is select * from trans@dblink
然后循环把得到的数据INSERT到本地一个表中
我希望在这个存储过程执行的时候,远程的ORACLE上
不能对trans表有INSERT、DELETE、UPDATE操作
能实现吗?
...全文
83 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jd29323 2001-11-07
  • 打赏
  • 举报
回复
情况是,远程DB每几天就把所有的数据全部覆盖一次
同时这两台DB是没有物理连接的,只有当需要同步的时候再连接
我是用存储过程实现复制
用游标SELECT远程库中的记录,然后INSERT到本地
其实效率一点也不差
50万条记录,10分钟就完成了
JeasonZhao 2001-11-07
  • 打赏
  • 举报
回复
看看你的数据库隔离级别设置,也许你根本用不着锁定表,这样数据库资源消耗很大
瑶瑶爸爸 2001-11-07
  • 打赏
  • 举报
回复
select colname into :tmp from trans
where colname= :tmp1
for update; --锁库
jd29323 2001-11-07
  • 打赏
  • 举报
回复
cursor curRow is select * from trans@dblink for update
这样写就可以了?
KingSunSha 2001-11-06
  • 打赏
  • 举报
回复
你的思路一直不对,老是尝试在本地端控制远程的数据库服务器,这样的操作效率非常差,同时很不稳定。真的不明白为什么要这么做?
你能不能具体的描述一下你的要求,看看有没有别的办法来完成?

2,596

社区成员

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

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