このトピックでは、テーブルに定義済み列を追加する方法、またはテーブルから定義済み列を削除する方法について説明します。このようにして、テーブルのセカンダリインデックスを作成するときに、テーブルの定義済み列をセカンダリインデックスのインデックス列または属性列として設定できます。
前提条件
OTSClient インスタンスが初期化されていること。詳細については、OTSClient インスタンスを初期化するを参照してください。
テーブルが作成されていること。
定義済み列を追加する
テーブルのセカンダリインデックスを作成するときに、テーブルに定義済み列が含まれていない場合、または既存の定義済み列がセカンダリインデックスの作成に適していない場合は、テーブルに定義済み列を追加できます。
パラメーター
パラメーター | 説明 |
tableName | テーブルの名前。 |
definedColumns | 定義済み列の名前とデータ型。定義済み列は主キー列にすることはできません。定義済み列は、セカンダリインデックスのインデックス列または属性列として設定できます。このパラメーターには、次の構成が含まれます。
|
例
次のサンプルコードは、テーブルに定義済み列を追加する方法の例を示しています。この例では、definedColumnName01 (型: STRING)、definedColumnName02 (型: INTEGER)、および definedColumnName03 (型: STRING) という定義済み列が追加されます。
public static void addDefinedColumnRequest(SyncClient client) {
AddDefinedColumnRequest addDefinedColumnRequest = new AddDefinedColumnRequest();
// テーブルの名前を指定します。
addDefinedColumnRequest.setTableName("<TABLE_NAME>");
// テーブルに定義済み列を追加します。
addDefinedColumnRequest.addDefinedColumn("definedColumnName01",DefinedColumnType.STRING);
addDefinedColumnRequest.addDefinedColumn("definedColumnName02",DefinedColumnType.INTEGER);
addDefinedColumnRequest.addDefinedColumn("definedColumnName03",DefinedColumnType.STRING);
client.addDefinedColumn(addDefinedColumnRequest);
}
定義済み列を削除する
テーブルから不要になった定義済み列を削除できます。
パラメーター
パラメーター | 説明 |
tableName | テーブルの名前。 |
name | 定義済み列の名前。 |
例
次のサンプルコードは、テーブルから definedColumnName01 および definedColumnName02 という定義済み列を削除する方法の例を示しています。
public static void deleteDefinedColumnRequest(SyncClient client){
DeleteDefinedColumnRequest deleteDefinedColumnRequest = new DeleteDefinedColumnRequest();
// テーブルの名前を指定します。
deleteDefinedColumnRequest.setTableName("<TABLE_NAME>");
// テーブルから定義済み列を削除します。
deleteDefinedColumnRequest.addDefinedColumn("definedColumnName01");
deleteDefinedColumnRequest.addDefinedColumn("definedColumnName02");
client.deleteDefinedColumn(deleteDefinedColumnRequest);
}