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文が出力されることが確認できる。

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文の作成例となる。


--*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 
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
) 
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 
DELETE
FROM
USER01.USER_DATA
WHERE
ID = :ID6) 作成されたSQLの整形ルールは、以下のように、「設定」ー「オプション」メニューから「SQL整形」タブを表示することで、確認できる。


SQL文の整形
A5M2では、記載したSQL文を簡単に整形することができる。その手順は、以下の通り。なお、整形ルールは、前述の「設定」ー「オプション」メニューの「SQL整形」タブで確認できる。
1) A5M2に接続し、クエリー上でSQL文を記載し右クリックし、「SQLの整形」メニューを選択する。

2) 以下のように、入力したSELECT文が整形されたことが確認できる。

SELECT
ID
, NAME
, BIRTH_YEAR
, BIRTH_MONTH
, BIRTH_DAY
, SEX
, MEMO
FROM
USER_DATA
WHERE
ID IN (1, 2)
ORDER BY
ID ASC3) SELECT文以外でも、同様にSQL整形が行える。以下はINSERT文の例となる。


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を整形する機能を利用することができる。








