码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • db-link 查询的语法约束


    本节介绍 db-link 查询的语法约束。
    注:如果仅仅是简单使用,如 insert into local_table select * from 同源 dblink 表,则可以忽略本节的约束。当查询存在 db-link 表与本地表混用(例如 db-link 表 JOIN 本地表),或与非同源 db-link 表混用时,则需要遵守如下语法约束,否则查询会报语法错误。
    注:同源 db-link 指 db-link 的名字相同,名字不同的 db-link 成为非同源 db-link。例如 t1@gc_link 和 t2@gc_link 被认为是同源 db-link 的两个表。t1@gc_link 和 x1@gc_link2,被认为是非同源 db-link 表,即使 gc_link 和gc_link2 在创建时,using 的是同一个数据源,由于其 db-link 名字不同,仍然认为是非同源的。
    db-link 查询语法约束如下:

    1. db-link 表只能出现在顶层查询,或同源 dblink 的子查询中。出现在本地表的子查询中时,必须放在 relation 子查询中。
      例如:如下语句会报语法错误,因为 db-link 出现在本地表的子查询中时,
      必须用 relation 子查询包围。
      select * from t1 where exists (select 1 from t2@gc_link as t2 where
      t2.id = t1.id);
      该语句可以修改为如下形式,以保证符合语法规则:
      select * from t1 where exists (select 1 from (select 1 from
      t2@gc_link) as t2 where t2.id = t1.id);
    2. 同源的 db-link 表可以直接 JOIN。dblink 表禁止与 local table,relation subquery,非同源 dblink 表,产生直接 JOIN 关系。
      例如:t1@gc_link JOIN t2@gc_link 是允许的;但 t1@gc_link JOIN t2是不允许的,因为 db-link 表禁止与本地表直接 JOIN,可以改写 SQL 语句为如
      下形式:
      … (select * from t1@gc_link) t, t2 …
    3. db-link 表的子查询中,禁止出现本地表,非同源 dblink 表。
      例如:select * from t1@gc_link where exists (select 1 from t2);是不允许的,因为 db-link 表 t1@gc_link 的子查询中出现了本地表 t2。可以改写为如下形式:
      select * from (select * from t1@gc_link) t where exists (select 1 from t2);
    4. group by 或 order by 中的相关子查询,禁止出现 db-link 表。
  • 相关阅读:
    探索云原生技术之容器编排引擎-Kubernetes/K8S详解(9)
    关于亚马逊测评,你了解多少?
    使用GPT帮忙修改论文
    来看看这几个拍视频可以变漫画的软件
    ArcObjects SDK开发 010 FeatureLayer
    C++笔记之关于函数名前的取址符
    springboot嘉应房地产公司质量管理系统毕业设计源码453100
    动态内存管理+柔性数组+经典笔试题
    Java 将HTML转为XML
    真的?听声音就能识别新冠患者?DeepMind海龟面部识别AI实践;数据建模与数据库·最新课程;推荐系统快速实现框架;前沿论文 | ShowMeAI资讯日报
  • 原文地址:https://blog.csdn.net/Beyond_777/article/details/127611544
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号