在 Oracle SQLPlus 脚本文件名中转义 'At sign' (@)

Escape 'At sign' (@) in Oracle SQLPlus script filename

当尝试在 SQLPlus 中执行文件名中包含 "At Sign" (@) 的脚本时,@ 符号被扩展为 SID:

SQL> @ foo@bar.sql SP2-0310: unable to open file "fooorclbar.sql"

SQL> START foo@bar.sql SP2-0310: unable to open file "fooorclbar.sql"

有没有办法在 SQLPlus 中转义 @ 符号?

设置escchar SQL*PLUS系统变量为@.

SQL> set escchar @

这是一个例子:

文件 foo@bar.sql 包含 select 1 from dual 语句;

SQL> @foo@bar.sql

         1
----------
         1