0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ローコードのSKE】多種類DB対応の手順

Last updated at Posted at 2025-03-24

SKEはPostgreSQL、SQLServer、Oracle、MySQL(MariaDB)をサポートします。SKEを利用して、多種類DB対応のパッケージを作る場合の注意点を説明します。

テーブル名と項目名の日本語文字利用

テーブル名または項目名に日本語文字または英語大文字小文字混在の場合、二重引用符を付けてください。MySQLはANSIモードの設定により、二重引用符を認識するようにしています。もし、テーブルは、専用スキーマ内のものであれば、スキーマ名を付けるようにしてください。

"Myテーブル"."My項目"
myschema."Myテーブル"."My項目"

大文字小文字を区別せず全部ローマ字のみにすれば、設定しやすいかもしれませんが、リポジトリ定義の分かり易さのため、日本語名称の利用は否定しません。

DDLとANSIのデータ型

リポジトリ定義に関わるテーブルを自動作成したい場合、テーブルDDLを登録します。1種類DB対応だったら、そのDBのデータ型の記載方法に従えば大丈夫です。多種類DBに対応したい場合、ANSIに満たすデータ型の記載がほしいです。SKEのDDLに記載する場合、下表のDDL記載列をご参照ください。

データ型 既定名称 DDL記載
1、数型
1-1、真数型
狭範囲整数 SMALLINT @SMALLINT
典型的整数 INTEGER @INTEGER
広範囲整数 BIGINT @BIGINT
固定小数点数(可変長) DECIMAL(p, s)
NUMERIC(p, s)
@NUMERIC @DECIMAL
1-2、概数型
単精度的小数 REAL @REAL
倍精度的小数 DOUBLE PRECISION @DOUBLE_PRECISION
浮動小数点数 FLOAT | FLOAT(n) @FLOAT
2、文字列型
固定長文字列 CHARACTER(n) @CHARACTER
可変長文字列 CHARACTER VARYING(n) @CHARACTER_VARYING
3、ブール型
ブール値 BOOLEAN @BOOLEAN
4、日時型
日付 DATE @DATE
時刻 TIME @TIME
日時 TIMESTAMP @TIMESTAMP

DDL文には一つのテーブルのCREATE文にしてください。そのテーブルの存在有無の記載は不要です。

初期化SQL

テーブル作成後、初期ユーザとか、マスタデータとか、insertのSQLを望まれます。この場合、初期化SQLをご利用ください。

定数をinsertのSQLに記載するため、Oracleの場合 DUALのダミーテーブルを記載しますが、ほかのDBはこのような記載は不要です。記載統一のため、以下の記載方法をご利用ください。

    insert into "myTable"
    ・・・
    @FROM_DUAL

注意点

「;」の記載不要

Oracleにとって「;」がある場合、JDBC経由のSQL実行はエラーが発生します。ほかのDBはこの制限がありません。

SQL文に複数SQLの記載禁止

OracleにとってJDBC経由のSQL実行は1回1つSQLしか実行できません。ほかのDBはこの制限がありません。

ANSI標準関数

個別DBの専用関数を利用しないでください。集計類と日付類のANSI関数のご利用ください。

関数 説明
1、集計類
COUNT(<値式>) <値式>が指定されるならば,集約される行の個数
SUM(<値式>) 集約される各行に対して評価される<値式>の合計
AVG(<値式>) 集約される各行に対して評価される<値式>の平均
MAX(<値式>) 集約される各行に対して評価される<値式>の最大値
MIN(<値式>) 集約される各行に対して評価される<値式>の最小値
2、日付類
CURRENT_DATE 現在日付
CURRENT_TIME 現在時間
CURRENT_TIMESTAMP 現在タイムスタンプ

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?