Table 7-2 データベースの機能
1 DB2は、Javaで記述されたストアドプロシージャまたは関数をネイティブでサポートしています。ネイティブのSQL手続き型言語を使用してプロシージャを記述するには、データベースサーバにCコンパイラをインストールします。
2 Informix識別列キーワードは、SERIAL8です。
3 Informixのストアドプロシージャは、値を返すことができません。
4 MySQL識別列キーワードは、AUTO_INCREMENTです。
5 Postgresシーケンスオブジェクトを使用して、プライマリキー列のデフォルト値を提供できるので、実質的に識別列をシミュレートできます。
Postgresには、ルールと呼ばれるネイティブの構成体があります。この構成体を使用して、トリガおよびinstead-of-triggerを実質的にシミュレートできます。また、さまざまな手続き型プログラミング言語で記述されたトリガまたはinstead-of-triggerの使用もサポートしています。
次の表は、現在の日付および時刻を取得するために使用されるSQLステートメントをデータベース別に示したものです。
Table 7-3 タイムスタンプステートメント
次の表は、ストアドプロシージャまたは関数を呼び出すためのSQL構文のリストです。これは、埋め込みSQLステートメント内のプロシージャおよび関数呼び出しのフォーマットに役立ちます。
Table 7-4 ストアドプロシージャまたは関数の呼び出し
1 OracleのJDBC実装では、文字列としての関数呼び出しはサポートされていません。
次の表は、データベース別の外部結合演算子のリストです。
Table 7-5 外部結合演算子
|
データベース |
左外部結合演算子 |
ANSI互換 |
|---|---|---|
|
IBM DB2 UDB |
LEFT OUTER JOIN |
○ |
|
Informix IDS |
LEFT OUTER JOIN |
○ |
|
MSSQL |
*= |
× |
|
MySQL |
LEFT OUTER JOIN |
○ |
|
Oracle |
(+) |
× |
|
PostgreSQL |
LEFT OUTER JOIN |
○ |
|
Sybase ASE |
*= |
× |
NOTE:Oracleは、バージョン10gからANSI互換の左外部結合演算子LEFT OUTER JOINをサポートしています。
Table 7-7 サポートされているトランザクション分離レベル
|
データベース |
なし |
read uncommitted |
read committed |
repeatable read |
serializable |
URL |
|---|---|---|---|---|---|---|
|
IBM DB2 UDB |
0 |
X |
X1 |
X |
X |
|
|
MySQL (InnoDBテーブルタイプ) |
0 |
X |
X |
X1 |
X |
|
|
Oracle |
0 |
0 |
X1 |
0 |
X |
|
|
PostgreSQL |
0 |
02 |
X1 |
02 |
X |
1 これは、このデータベースのデフォルト分離レベルです。2 設定はできますが、サポートされている分離レベルに引き上げられます。
次の表は、サポートされているデータベースのコミットキーワードを示します。
Table 7-8 コミットキーワード
|
データベース |
コミットキーワード |
|---|---|
|
IBM DB2 UDB |
COMMIT |
|
Informix IDS |
COMMIT WORK1 |
|
MSSQL |
GO |
|
MySQL |
COMMIT |
|
Oracle |
COMMIT |
|
PostgreSQL |
COMMIT |
|
Sybase ASE |
GO |
1 ANSI互換のログデータベース用。ログデータベース以外のデータベースではトランザクションをサポートしません。
次の表は、このデータベースのプロパティのリストです。
Table 7-9 IBM DB2 UDBのプロパティ
次の表は、ランタイム時にJDBC用ドライバが暗黙的に設定するデータベース互換性パラメータのリストです。これらの設定を明示的に上書きしないでください。
Table 7-10 動的に設定されるIBM DB2 Universal Database設定
次の表は、このデータベースのプロパティのリストです。
Table 7-11 Informix Dynamic Serverの設定
1 ログデータベースおよびANSI互換のデータベース用。ログデータベース以外ではトランザクションはサポートされません。
次の表は、ランタイム時にJDBC用ドライバが暗黙的に設定するデータベース互換性パラメータのリストです。これらの設定を明示的に上書きしないでください。
Table 7-12 動的に設定されるInformix Dynamic Server設定
|
表示名 |
タグ名 |
値 |
|---|---|---|
|
現在のタイムスタンプステートメント: |
current-timestamp-stmt |
SELECT FIRST 1 (CURRENT YEAR TO FRACTION(5)) FROM INFORMIX.SYSTABLES |
次の表は、このデータベースのプロパティのリストです。
Table 7-13 Microsoft SQL Server 2000の設定
|
プロパティ |
値 |
|---|---|
|
現在のタイムスタンプステートメント |
SELECT (CURRENT_TIMESTAMP) |
|
ストアドプロシージャ/関数の呼び出し構文 |
EXECUTE schema-name.procedure-name(parameter-list) |
|
大文字と小文字を区別? |
× |
|
コミットキーワード |
GO |
|
左外部結合演算子 |
*= |
次の表は、ランタイム時にJDBC用ドライバが暗黙的に設定するデータベース互換性パラメータのリストです。これらの設定を明示的に上書きしないでください。
次の表は、このデータベースのプロパティのリストです。
Table 7-15 MySQLの設定
|
プロパティ |
値 |
|---|---|
|
現在のタイムスタンプステートメント |
SELECT (CURRENT_TIMESTAMP) |
|
ストアドプロシージャ/関数の呼び出し構文 |
(該当なし) |
|
大文字と小文字を区別? |
○ |
|
コミットキーワード |
COMMIT |
|
左外部結合演算子 |
LEFT OUTER JOIN |
次の表は、ランタイム時にJDBC用ドライバがこのデータベースのために動的に設定するデータベース互換性パラメータのリストです。
Table 7-16 動的に設定されるMySQL設定
|
表示名 |
タグ名 |
値 |
|---|---|---|
|
メタデータの取得でスキーマをサポートしますか? |
supports-schemas-in-metadata-retrieval |
false |
次の表は、このデータベースのプロパティのリストです。
Table 7-17 Oracleの設定
|
プロパティ |
値 |
|---|---|
|
現在のタイムスタンプステートメント |
SELECT (SYSDATE) FROM SYS.DUAL |
|
ストアドプロシージャ/関数の呼び出し構文 |
CALL schema-name.procedure-name(parameter-list) |
|
大文字と小文字を区別? |
× |
|
コミットキーワード |
COMMIT |
|
左外部結合演算子 |
(+) |
次の表は、ランタイム時にJDBC用ドライバが暗黙的に設定するデータベース互換性パラメータのリストです。これらの設定を明示的に上書きしないでください。
Table 7-18 動的に設定されるOracle設定
|
表示名 |
タグ名 |
値 |
|---|---|---|
|
左外部結合演算子 |
left-outer-join-operator |
(+) |
|
フィルタ式を除く |
exclude-table-filter |
BIN\$.{22}==\$0 |
|
ステートメントジェネレータクラスのロック |
lock-generator-class |
com.novell.nds.dirxml.driver.jdbc.db.lock.OraLockGenerator |
NOTE:デフォルトの除外フィルタは、Oracle 10gで表示されるドロップ済みテーブルを同期スキーマから省略するためのものです。
次の表は、このデータベースのプロパティのリストです。
Table 7-19 PostgreSQLの設定
|
プロパティ |
値 |
|---|---|
|
現在のタイムスタンプステートメント |
SELECT (CURRENT_TIMESTAMP) |
|
ストアドプロシージャ/関数の呼び出し構文 |
SELECT schema-name.procedure-name(parameter-list) |
|
大文字と小文字を区別? |
× |
|
コミットキーワード |
COMMIT |
|
左外部結合演算子 |
LEFT OUTER JOIN |
次の表は、このデータベースのプロパティのリストです。
Table 7-20 Sybase ASEの設定
|
プロパティ |
値 |
|---|---|
|
現在のタイムスタンプステートメント |
SELECT GETDATE() |
|
ストアドプロシージャ/関数の呼び出し構文 |
EXECUTE schema-name.procedure-name(parameter-list) |
|
大文字と小文字を区別? |
○ |
|
コミットキーワード |
GO |
|
左外部結合演算子 |
*= |
次の表は、ランタイム時にJDBC用ドライバが暗黙的に設定するデータベース互換性パラメータのリストです。これらの設定を明示的に上書きしないでください。
Table 7-21 動的に設定されるSybase ASE設定
バイナリ値でANSI互換のパディングおよび切り捨ての動作に準拠するために、バイナリ列タイプ(IMAGEを除く)が次の条件を満たすようにします。
NULL制約がある場合は、eDirectoryでは有効である末尾のゼロ(0)が切り捨てられます。バイナリ列が、対応するeDirectory属性のサイズより大きい場合は、値の末尾に0が付加されます。
解決方法として、バイナリ値を同期する場合はIMAGEデータタイプだけを使用することをお勧めします。