gpt4 book ai didi

sql - SQL 中的感叹号 (Oracle)

转载 作者:搜寻专家 更新时间:2023-10-30 19:52:52 25 4
gpt4 key购买 nike

查看我数据库中的 V$SQL,我发现了一个奇怪的查询,如下所示:

UPDATE "MYTABLE" "A1" SET "SOMECOLUMN" = (
SELECT "A2"."ANOTHERCOLUMN"
FROM "ANOTHERTABLE"@! "A2"
WHERE "A2".ROWID=:B1
)

有谁知道语法@!的含义

我以前在 Oracle 中从未见过类似的东西

谢谢

最佳答案

这是一个源自远程数据库的查询。您在 V$SQL 中看到此查询的数据库已在使用 @DB_NAME 语法的远程数据库查询中引用

远程数据库已将查询推送到您的数据库以供执行,但要回答查询,您的数据库需要从远程数据库中拉回一些信息。这是@!进来,基本上它是对查询起源的数据库的引用

例如,创建一个测试数据库链接,甚至指向同一个数据库,然后运行:

alter system flush shared_pool;
select sysdate from dual@myself;
select sql_text from gv$sql where sql_fulltext like '%@!%';

SQL_TEXT
--------
SELECT SYSDATE@! FROM "DUAL" "A1"

关于sql - SQL 中的感叹号 (Oracle),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37391653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com