Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Ponto de exclamação em SQL (Oracle)


É uma consulta originada em um banco de dados remoto. O banco de dados onde você viu esta consulta em V$SQL foi referenciado na consulta no banco de dados remoto usando a sintaxe @DB_NAME

O banco de dados remoto enviou a consulta ao seu banco de dados para execução, mas para responder à consulta, seu banco de dados precisa recuperar algumas informações do banco de dados remoto. É aqui que o @! vem, basicamente é uma referência de volta ao banco de dados de onde a consulta se originou

Por exemplo, crie um link de banco de dados de teste, mesmo para o mesmo banco de dados, e execute isto:
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"