現在地: Visual LANSA 開発者ガイド > 1. アプリケーション、フィールド、データベース、リポジトリの概要 > 1.6 アプリケーション・データベースの作成 > テーブルを操作可能な状態に変換する手順
テーブルを操作可能な状態に変換する手順

テーブルを操作可能な状態に変換するためには、次の3つの作業を順に行う必要があります。

テーブルを定義してもそのままでは使えず、操作可能な形に変換しなければなりません。すなわち、上の3つの処理をすべて施す必要があるのです(ただし、インデックスを定義しなかった場合その生成は不要)。順に手動で実行しても、LANSAの自動処理に任せてもかまいません。

一方、リポジトリの列定義やテーブル定義を変更した場合も、必要に応じて上記の処理を施し、新しい定義に沿って操作可能な形に変換しなければなりません。もっとも、変更内容によっては、すべての処理を最初からやり直さなくも構わない場合もあります。例えば妥当性規則を追加しただけであれば、物理テーブルやインデックスを生成し直す必要はありません(「再コンパイルの対象」を参照)。

通常は必要な処理が自動的に判断されますが、列単位の変更は正しく検出されない場合があります。例えばある列の省略値を変更した場合、影響範囲を自分で調べ、OAMを再コンパイルするよう指示しなければなりません。一方、列の長さを変更した場合は、3つの作業がすべて必要であると自動的に認識されます(「再コンパイルが必要になる条件」を参照)。

このとき実際には、データベースやオペレーティング・システムに関係するさまざまな処理が施され、具体的な内容はプラットフォームその他によって異なるのですが、LANSAを使っている限り、その詳細を意識する必要はありません。例えば IBM i の場合、OS管理下の物理テーブルやインデックスを生成します。これに対し、Windowsの場合は、適当なデータベース管理システム上にSQLテーブルを生成する、という処理になります。

テーブルを操作可能な状態に変換するには、テーブルのコンパイルコマンドを使います。起動するとコンパイル オプションダイアログ・ボックスが現れるので、必要な設定をしてください。

必要な場合のみコンパイルを行うをオンにすると、コンパイルが必要かどうか事前に調べるようになります。ただし、列単位の定義変更をすべて検出することはできません。例えばある列に対する妥当性規則を変更した場合、自動では検出されないので、明示的に再コンパイルを指示する必要があるのです。ただし、列の長さを変更した場合は、自動検出されます。

再コンパイルした場合、既存のデータをいったん保存し、インポートするよう指示することができます。インポートが必要なデータ量は、テーブルにどのような変更を施したかによって変わります(「テーブル定義を変更した場合のデータの取り扱い」を参照)。

生成されたソース・コードを保存しておく必要はありません。ただし、Linuxなど、Cのソース・コードが必要なプラットフォームに移植する場合を除きます。

次のトピックも参照してください。

LANSA テクニカル リファレンスガイド』の「テーブル コンパイル オプション