OracleのSQLファイルに引数を渡す場合のドット(.)
-- test.sql -- スキーマ名.テーブル名でスキーマを引数から取得 SELECT COUNT(*) FROM &1..MYTBL; EXIT;
C:\> sqlplus FOO/PASS@SERVICENAME @test.sql SCHEMATEST
ドットは区切り文字ということなので&1.
が引数に展開されて
SCHEMATEST.MYTBL
になる。
SET DEFINE - オラクル・Oracle SQL*Plus リファレンスや 置換変数の使用方法によれば、
置換変数は単独で使用する場合には &変数名 として使用する。 &変数名xxxyyyy などと文字列が続く場合には 変数名xxxyyyy が変数名として解釈される。 そのため &変数名.xxxyyy のように後続文字列の間にドット(.) を設置することで変数名と文字列を区切りって変数名だけを認識させる。
置換変数の直後に文字を追加する場合は、変数と文字の区切りにピリオドを使用します。次に例を示します。
と記載あり。