Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Ausrufezeichen in SQL (Oracle)

Es ist eine Abfrage, die ihren Ursprung in einer entfernten Datenbank hat. Auf die Datenbank, in der Sie diese Abfrage in V$SQL gesehen haben, wurde in der Abfrage auf der entfernten Datenbank unter Verwendung der @DB_NAME-Syntax

verwiesen

Die entfernte Datenbank hat die Abfrage zur Ausführung an Ihre Datenbank gepusht, aber um die Abfrage zu beantworten, muss Ihre Datenbank einige Informationen aus der entfernten Datenbank abrufen. Hier ist das @! kommt, ist es im Grunde ein Verweis zurück auf die Datenbank, aus der die Abfrage stammt

Erstellen Sie beispielsweise einen Testdatenbanklink, sogar zu derselben Datenbank, und führen Sie Folgendes aus:

alter system flush shared_pool;
select sysdate from [email protected];
select sql_text from gv$sql where sql_fulltext like '%@!%';

SQL_TEXT
--------
SELECT [email protected]! FROM "DUAL" "A1"