データベースのテーブルを作成する際には、
SELECT
や
INSERT
などの SQL ステートメントを実行するときと同じ手順を使用して、そのデータベースに対して
SQL ステートメントを実行
します。テーブルを作成するには、新しいテーブルの列と制約の定義を含む
CREATE TABLE
ステートメントを使用します。SQL ステートメントの実行について詳しくは、
SQL ステートメントの操作
を参照してください。
次の例では、非同期実行モードを使用して既存のデータベースファイルに「employees」という名前のテーブルを作成しています。このコードでは、
conn
という名前の
SQLConnection
インスタンスが既に作成されてデータベースに接続されていることを前提としています。
// Include AIRAliases.js to use air.* shortcuts
// ... create and open the SQLConnection instance named conn ...
var createStmt = new air.SQLStatement();
createStmt.sqlConnection = conn;
var sql =
"CREATE TABLE IF NOT EXISTS employees (" +
" empId INTEGER PRIMARY KEY AUTOINCREMENT, " +
" firstName TEXT, " +
" lastName TEXT, " +
" salary NUMERIC CHECK (salary > 0)" +
")";
createStmt.text = sql;
createStmt.addEventListener(air.SQLEvent.RESULT, createResult);
createStmt.addEventListener(air.SQLErrorEvent.ERROR, createError);
createStmt.execute();
function createResult(event)
{
air.trace("Table created");
}
function createError(event)
{
air.trace("Error message:", event.error.message);
air.trace("Details:", event.error.details);
}
次の例では、同期実行モードを使用して既存のデータベースファイルに「employees」という名前のテーブルを作成しています。このコードでは、
conn
という名前の
SQLConnection
インスタンスが既に作成されてデータベースに接続されていることを前提としています。
// Include AIRAliases.js to use air.* shortcuts
// ... create and open the SQLConnection instance named conn ...
var createStmt = new air.SQLStatement();
createStmt.sqlConnection = conn;
var sql =
"CREATE TABLE IF NOT EXISTS employees (" +
" empId INTEGER PRIMARY KEY AUTOINCREMENT, " +
" firstName TEXT, " +
" lastName TEXT, " +
" salary NUMERIC CHECK (salary > 0)" +
")";
createStmt.text = sql;
try
{
createStmt.execute();
air.trace("Table created");
}
catch (error)
{
air.trace("Error message:", error.message);
air.trace("Details:", error.details);
}