ピリオドを含むテーブル名
AS400のテーブル名はAS/400端末で見ると、一般にライブラリ名/ファイル名となります。
SQLで呼び出す場合には、AS/400上のSTRSQLなどでもライブラリ名.ファイル名となるようです。
当社のシステム担当が 実績/売上.01、実績/売上.02・・・のようにテーブル名にピリオドを含めて設定しました。
SQLでは、 SELECT * FROM 実績.売上.01 とやるとエラーとなってしまいます。テーブル名にピリオドが含まれる場合にはどのようにSQLを使えばよいのでしょうか。
コピーしてファイル名を変えるとか
稼働中のファイルを勝手にリネームする訳にはいきませんが、コピーしてピリオドのないテーブル名にすればよいと考えられます。
ただ、今回の場合1テーブルが200フィールド×数千万レコードもあります。
そんな巨大なコピーを作って無駄に領域を専有するのも気が引けます。
データマイニング的に調べるのでレコードやフィールドを絞りたくありません。
""で囲めばOK!
答えは簡単でした。
SELECT * FROM 実績."売上.01"
のようにテーブル名を"“で囲めばOKです。