例えば、商品テーブル(Item)と、注文テーブル(Order)の2つのテーブルを作成するとします。
注)現在はテーブル作成も、SQL タブで実行できます。
以前は複数ステートメント実行はSQL Script, 単一SQL実行はSQL Queryと
別れていましたが、統合されました。(まだ解説を更新していませんm(_ _)m)
(1)今度は、テーブルをSQLスクリプトを使って作成してみます。
DBSYSを起動してください File → Nes SQL Query で先ほどのSQL入力画面になります
(2)SQL タブの隣の SQL Script タブをクリックします
SQL Script は 複数のSQLを;区切りに、ひとまとまりにしたものです。 ExecSQLScript
で呼び出します。 また以下のように呼び出すことも可能です:
ExecSQL.LoadFromFile('***.sql');
(3)SQL Script でテーブルを作成します
以下のようにコーディングしてください
※ DBISAM Ver.3からVer.4へのバージョンアップに伴い、SQL文法が一部変更されました。
下記のSQLに置き換えてください。:
CREATE TABLE "ITEM.DAT" ( "Item_Id" AUTOINC, "Item_Name" CHARACTER(100) NOT NULL, "Price" MONEY NOT NULL, LOCALE "ANSI Standard" USER MAJOR VERSION 1 );
(4)そして、Run SQL Script ボタンを押します
これで、Itemテーブルが作成されました。テーブルのデザインは以下の通りです
(5)次は、SQLスクリプトを使ったテーブルの作成をプログラム中から行う例を紹介します
DBISAMQuery.SQLScript
プロパティにMemoからSQLScriptを渡し、ExecSQLScriptメソッドを使ってテーブルを作成します
先程のサンプルプロジェクトのフォームに、ボタンを一つ追加して以下のようにコーディングしてください:
procedure TForm1.Button2Click(Sender: TObject); begin DBISAMQuery1.SQLScript := Memo1.Lines; DBISAMQuery1.ExecSQLScript; end;
(6)コンパイルしてメモに以下のように入力します
テーブル作成ボタンを押すと、C:\CustomerDB\ にテーブルが作成されます
Orderテーブルのデザインは以下の通りです