SQL跨库搭建视图,过滤断开的数据库?

SQL跨库搭建视图,过滤断开的数据库?,第1张

说白了,就是无法补获数据库抛出的异常,数据库不支持,但是你的后台代码可以支持抛出异常,并且想办法处理。

可以这样,在你后台代码中,将你的union all的试图查询,改成多个sql的单试图查询,这样对每个sql查询做异常抛出处理,发现有异常,可能是网络原因断了,也可能是超时了,反正后台代码捕获到异常就不管这个试图了,继续下一个。麻烦是麻烦点,但是肯定可以实现,另外,因为是多个远程库的试图,读取速度也是一个大问题吧,改成多次查询,也可以用异步方式每个试图单独读取,前台异步显示,还能提升用户体验。

CREATE OR REPLACE VIEW V_TEST AS

select t1.a, t1.b,t1.c,t2.d from table2@DBLINK_TEST t2, talbe1 T1 wher t1.a=t2.a

视图到此创建结束了

Commit

最后这个commit是不生效的。另外提示提交的不是因为你视图没有创建完成,而是oracle的 通过DBLINK查询的时候会产生事务,所以 select * from V_TEST 后需要commit或者rollback


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9997706.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存