この文は、SQL スクリプトを使用して既存の Ultra Light データベースのスキーマ定義を修正するために使用します。
ALTER DATABASE SCHEMA FROM FILE filename
filename 既存の Ultra Light データベースのスキーマをアップグレードするときに使用する SQL スクリプトの名前とパスを定義します。
スクリプトに必要な DDL 文を抽出するには、ulinit または ulunload のいずれかを使用します。これらのユーティリティを使用して、DDL 文が構文的に正しいことを確認してください。ulinit (-l ログ・ファイル オプション) または ulunload (-n -s 出力ファイル オプション) を使用します。Ultra Light データベース初期化ユーティリティ (ulinit)とUltra Light データベースのアンロード・ユーティリティ (ulunload)を参照してください。
この文は、データベースのバックアップを作成した後に実行します。
SQL スクリプト・ファイルの文字セットは、アップグレード対象のデータベースの文字セットに一致している必要があります。
この文の実行中は、デバイスをリセットしないでください。スキーマのアップグレード中にデバイスをリセットすると、Ultra Light データベースは使用できなくなります。
スキーマに適合しないローはすべて削除されます (たとえば、一意性制約が追加され、複数のローに同じ値が入っている場合、1 つのローだけを残して他のローはすべて削除されます)。この場合、SQLE_ROW_DROPPED_DURING_SCHEMA_UPGRADE 警告が生成されます。この警告によってエラーを検出し、データベースをバックアップからリストアできます。
次の文は、SQL スクリプト MySchema.sql を使用して、データベースのスキーマを修正します。
ALTER DATABASE SCHEMA FROM FILE 'MySchema.sql'; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |