SQL*Plus のシステム変数 suffix で、参照するスクリプトの拡張子を変更できる。

Oracle に接続中、スクリプトファイルを実行したい場合は 「SQL> @test.sql」 のように
ファイルの先頭に @(アットマーク)を付ければよい。ここではシステム変数 suffix の
指定を参照するため、デフォルトのままでよければ拡張子を省略できる。

構文

SET SUF[FIX] { SQL | text }

※ [] 内は、省略可能。

デフォルト

SQL> show suffix
suffix "sql"

例えば以下の2ファイルが存在する場合。

% cat test.sql
select 'sql' from dual;

% cat test.ora
select 'ora' from dual;

ここで拡張子を省略して実行すると、 .sql のファイルが実行される。

SQL> @test

'SQL'
------
sql

変更

SQL> set suffix ora

変更を確認

SQL> show suffix
suffix "ora"

実行

SQL> @test

'ORA'
------
ora

再度実行すると、今度は .ora のファイルが実行されていることがわかる。

基本的に拡張子を変更する必要は無いと思うが、拡張子を省略しても
実行できることは Tips として押さえておきたい。

関連記事