我想确定一下这个代码做什么(甲骨文SQL) -尤其是在签收感叹号中from的条款.
INSERT INTO "LOCATIONS" "A1"
("LOCATION_ID",
"SEQUENCE",
"POINT_TYPE")
SELECT "A2"."LOCATION_ID",
"A2"."SEQUENCE",
"A2"."LOCATION_TYPE",
"A2"."POINT_TYPE"
FROM "LOCATIONS"@! "A2"
WHERE NOT EXISTS (SELECT 1
FROM "LOCATIONS" "A3"
WHERE "A3"."LOCATION_ID" = "A2"."LOCATION_ID")
Run Code Online (Sandbox Code Playgroud)
小智 5
这是指向执行查询的原始数据库的反向数据库链接.原始查询必须如下所示:
INSERT INTO LOCATIONS@remote_db
("LOCATION_ID",
"SEQUENCE",
"POINT_TYPE")
SELECT "A2"."LOCATION_ID",
"A2"."SEQUENCE",
"A2"."POINT_TYPE"
FROM "LOCATIONS" A2
WHERE NOT EXISTS (SELECT 1
FROM LOCATIONS@remote_db A3
WHERE "A3"."LOCATION_ID" = "A2"."LOCATION_ID");
Run Code Online (Sandbox Code Playgroud)
这样,所有远程表都变为本地,本地表变为远程表"@!".
Col*_*ard -1
我认为这不是有效的 SQL。检查您的代码以确保在执行 SQL 之前没有任何更改 - 特别是检查数据库链接的名称是否被替换为!.
如果您无法确定正在执行什么,您可以在数据库上进行跟踪