こんにちは!平野です。
本日はOracleAPEXでテーブルを作成します。
Oracle APEXでは、テーブルを生成してから画面を作るのが基本的な手法となります。
このテーブルの作成がコードを書かずにGUI上でできてしまいます。今回はその方法について説明します。
Oracle APEXの環境を持っていない方は以下記事を参考にしてください。
ローコード開発ってどうやるの?(Oracle APEX)
更新履歴
日付 | 更新概要 |
---|---|
2020/09/08 | 記事公開 |
2020/11/25 | 記事更新 |
対応バージョン
製品名 | バージョン |
---|---|
Oracle APEX | 5.1 – 20.1.0.00.13 |
Oracle Database | 12.2 – 19.6 |
必要な要素を考える
簡単なタスク管理アプリを開発すると仮定し、以下のようなタスク管理アプリの機能で考えてみます。
- 複数の利用者(ユーザー)がタスクを入力
- 入力されたタスクは利用者ごとに確認可能
- タスク完了の予定日が近くなるとメールが飛ぶ
- タスクが完了したらデータを消す
まずは、テーブル作成に必要な要素を考えてみます。
テーブル名:TASK_LISTS
列名 | 説明 | データ型 | スケール | NULLを許可 |
---|---|---|---|---|
ID | 作成されたタスクごとに付与 | NUMBER | いいえ | |
USERNAME | タスクを作成したユーザーの名前 | VARCHAR2 | 255 | いいえ |
TASK_TITLE | タスクのタイトル | VARCHAR2 | 255 | |
TASK_CONTENT | タスクの内容 | VARCHAR2 | 4000 | |
TASK_DEADLINE | タスクを完了すべき期日の設定 | DATE |
要素ごとのデータ型に関してはOracleの公式マニュアルSQL言語リファレンスを参考にしてくだい。
以上のように想定してみました。
このテーブルの定義をもとに、Oracle APEXのGUI操作でテーブルを作成していきます。
GUI操作の手順
GUI操作の手順を説明していきます。
- OracleAPEXにサインインして、SQLワークショップを開きます。
- オブジェクト・ブラウザを開きます。
- 右上の+マークをクリックして表を選択します。
- 今回仮定したテーブル定義を入力します。
- 新規順序から移入を選択し、主キーをIDとして下さい。
- 外部キー・制約についてはそのまま設定せず次へを選択してください。必要となった場合は後から設定することも可能です。
- 表の作成を選択してください。
今回GUI上で作成したテーブルのSQL文が自動生成されています。
表の作成ページにあるSQLというタブをクリックすると見ることができます。
CREATE table "TASK_LISTS" (
"ID" NUMBER(255) NOT NULL,
"USERNAME" VARCHAR2(255) NOT NULL,
"TASK_TITLE" VARCHAR2(4000),
"TASK_CONTENT" VARCHAR2(4000),
"TASK_SUBCONTENTS" VARCHAR2(4000),
"TASK_DEADLINE" DATE,
constraint "TASK_LISTS_PK" primary key ("ID")
)
/
CREATE sequence "TASK_LISTS_SEQ"
/
CREATE trigger "BI_TASK_LISTS"
before insert on "TASK_LISTS"
for each row
begin
if :NEW."ID" is null then
select "TASK_LISTS_SEQ".nextval into :NEW."ID" from sys.dual;
end if;
end;
/
これでテーブルが完成しました。
作成したテーブルは、オブジェクト・ブラウザ画面から参照できます。
最近作成された表から直接オブジェクト・ブラウザのTASK_LISTSテーブルを確認することもできます。
オブジェクト・ブラウザでは、列の追加や列名の変更などいつでも行うことができます。
おわりに
いかがだったでしょうか。
テーブルの要素だけ考えてしまえば5分もかからずテーブルを作成することができます。
もちろんSQLコマンドを直接記入してテーブルを作成することも可能です。
こういった開発における柔軟性がOracle APEXの強みの1つと言えます。
是非ともご参考にしていただければと思います。
ありがとうございました!