A5M2(A5:SQL Mk-2)には、選択したテーブルに関するSQLを自動作成したり、指定したSQLを整形する機能がある。
今回は、A5M2でSQL自動作成やSQL整形を行ってみたので、その手順を共有する。
前提条件
下記記事に記載した方法で、A5M2を利用してOracleに接続できていること。
やってみたこと
CREATE TABLE文の自動作成
A5M2では、選択したテーブルに関するCREATE TABLE文を自動作成できる。その手順は、以下の通り。
1) A5M2に接続し、CREATE TABLE文を自動生成したいテーブルを選択し右クリックし、「ソースをSQLエディタで開く」を選択する。
2) 以下のように、別タブが開き、CREATE TABLE文が出力されることが確認できる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | CREATE TABLE "USER01"."USER_DATA" ( "ID" NUMBER(6,0) NOT NULL ENABLE, "NAME" VARCHAR2(40) NOT NULL ENABLE, "BIRTH_YEAR" NUMBER(4,0) NOT NULL ENABLE, "BIRTH_MONTH" NUMBER(2,0) NOT NULL ENABLE, "BIRTH_DAY" NUMBER(2,0) NOT NULL ENABLE, "SEX" CHAR(1) NOT NULL ENABLE, "MEMO" VARCHAR2(1024), PRIMARY KEY ("ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "USERS01" ENABLE ) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "USERS01" |
SELECT/INSERT/UPDATE/DELETE文の自動作成
A5M2では、選択したテーブルに関するSELECT/INSERT/UPDATE/DELETE文を自動作成できる。その手順は、以下の通り。
1) A5M2に接続し、SQL文を自動生成したいテーブルを選択し右クリックし、「SQLの生成…」を選択する。
2) 作成したいSQLを指定し、「OK」ボタンを押下する。以下は、絞り込み条件・並べ替え項目を指定したSELECT文の作成例となる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | --*DataTitle 'USER01.USER_DATA' --*CaptionFromComment SELECT ID -- ID , NAME -- NAME , BIRTH_YEAR -- BIRTH_YEAR , BIRTH_MONTH -- BIRTH_MONTH , BIRTH_DAY -- BIRTH_DAY , SEX -- SEX , MEMO -- MEMO FROM USER01.USER_DATA WHERE ID = :ID and NAME = :NAME ORDER BY ID |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | INSERT INTO USER01.USER_DATA( ID , NAME , BIRTH_YEAR , BIRTH_MONTH , BIRTH_DAY , SEX , MEMO ) VALUES ( :ID , :NAME , :BIRTH_YEAR , :BIRTH_MONTH , :BIRTH_DAY , :SEX , :MEMO ) |
1 2 3 4 5 6 7 8 9 10 | UPDATE USER01.USER_DATA SET NAME = :NAME , BIRTH_YEAR = :BIRTH_YEAR , BIRTH_MONTH = :BIRTH_MONTH , BIRTH_DAY = :BIRTH_DAY , SEX = :SEX , MEMO = :MEMO WHERE ID = :ID |
1 2 3 4 5 | DELETE FROM USER01.USER_DATA WHERE ID = :ID |
6) 作成されたSQLの整形ルールは、以下のように、「設定」ー「オプション」メニューから「SQL整形」タブを表示することで、確認できる。
SQL文の整形
A5M2では、記載したSQL文を簡単に整形することができる。その手順は、以下の通り。なお、整形ルールは、前述の「設定」ー「オプション」メニューの「SQL整形」タブで確認できる。
1) A5M2に接続し、クエリー上でSQL文を記載し右クリックし、「SQLの整形」メニューを選択する。
2) 以下のように、入力したSELECT文が整形されたことが確認できる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | SELECT ID , NAME , BIRTH_YEAR , BIRTH_MONTH , BIRTH_DAY , SEX , MEMO FROM USER_DATA WHERE ID IN (1, 2) ORDER BY ID ASC |
3) SELECT文以外でも、同様にSQL整形が行える。以下はINSERT文の例となる。
1 2 3 4 5 6 7 8 9 10 11 | INSERT INTO USER_DATA( ID , NAME , BIRTH_YEAR , BIRTH_MONTH , BIRTH_DAY , SEX , MEMO ) VALUES (3, 'テスト プリン3', 2014, 3, 12, '1', 'テスト3') |
要点まとめ
- A5M2(A5:SQL Mk-2)では、選択したテーブルに関するSQLを自動作成したり、指定したSQLを整形する機能を利用することができる。