Hitachi

ノンストップデータベース HiRDB Version 10 SQLリファレンス


付録D.1 変更点

バージョン09-50より前のバージョンからバージョンアップを行う場合は,省略時解釈変更によるメリット及びデメリットを確認してください。確認の結果,旧バージョンとの互換性を重視する場合は,旧バージョンと同等の省略値解釈になる互換モードを適用してください。

〈この項の構成〉

(1) バージョンによって省略時解釈が異なるSQL構文

バージョンによって省略時解釈が異なるSQL構文を次の表に示します。

表D‒1 バージョンによって省略時解釈が異なるSQL構文

SQL

09-50以降の省略時解釈

0904互換モードを適用時の省略時解釈

09-50より前の省略値解釈

省略値変更によるメリット

省略値変更によるデメリット

CREATE 〔PUBLIC 〕PROCEDURE(手続き定義,パブリック手続き定義)

SQLコンパイルオプションの「ISOLATION データ保証レベル 〔FOR UPDATE { EXCLUSIVE | COMPATIBLE }〕」

FOR UPDATE { EXCLUSIVE | COMPATIBLE }を指定しない場合,FOR UPDATE EXCLUSIVEを仮定します。

FOR UPDATE EXCLUSIVEを指定しない場合,FOR UPDATE COMPATIBLEを仮定します。

更新を前提とした検索に対する排他モードのロックを自動設定

排他モード変更によるSQL文の見直し

CREATE TRIGGER(トリガ定義)

SQLコンパイルオプションの「ISOLATION データ保証レベル 〔FOR UPDATE { EXCLUSIVE | COMPATIBLE }〕」

FOR UPDATE { EXCLUSIVE | COMPATIBLE }を指定しない場合,FOR UPDATE EXCLUSIVEを仮定します。

FOR UPDATE EXCLUSIVEを指定しない場合,FOR UPDATE COMPATIBLEを仮定します。

更新を前提とした検索に対する排他モードのロックを自動設定

排他モード変更によるSQL文の見直し

ALTER PROCEDURE(手続きのSQLオブジェクトの再作成)

SQLコンパイルオプションの「ISOLATION データ保証レベル 〔FOR UPDATE { EXCLUSIVE | COMPATIBLE }〕」

FOR UPDATE { EXCLUSIVE | COMPATIBLE }を指定しない場合,FOR UPDATE EXCLUSIVEを仮定します。

FOR UPDATE EXCLUSIVEを指定しない場合,FOR UPDATE COMPATIBLEを仮定します。

更新を前提とした検索に対する排他モードのロックを自動設定

排他モード変更によるSQL文の見直し

ALTER TRIGGER(トリガのSQLオブジェクトの再作成)

SQLコンパイルオプションの「ISOLATION データ保証レベル 〔FOR UPDATE { EXCLUSIVE | COMPATIBLE }〕」

FOR UPDATE { EXCLUSIVE | COMPATIBLE }を指定しない場合,FOR UPDATE EXCLUSIVEを仮定します。

FOR UPDATE EXCLUSIVEを指定しない場合,FOR UPDATE COMPATIBLEを仮定します。

更新を前提とした検索に対する排他モードのロックを自動設定

排他モード変更によるSQL文の見直し

ALTER ROUTINE(関数,手続き,及びトリガのSQLオブジェクトの再作成)

SQLコンパイルオプションの「ISOLATION データ保証レベル 〔FOR UPDATE { EXCLUSIVE | COMPATIBLE }〕」

FOR UPDATE { EXCLUSIVE | COMPATIBLE }を指定しない場合,FOR UPDATE EXCLUSIVEを仮定します。

FOR UPDATE EXCLUSIVEを指定しない場合,FOR UPDATE COMPATIBLEを仮定します。

更新を前提とした検索に対する排他モードのロックを自動設定

排他モード変更によるSQL文の見直し

CREATE TABLE

(表定義)

表オプションの「PCTFREE」

「PCTFREE」を指定しない場合,PCTFREE=(30,10)を仮定します。ただし,クラスタキーのないFIX表の場合で,PCTFREEを省略したときは,PCTFREE=(0,0)を仮定します。

「PCTFREE」を指定しない場合,PCTFREE=(30,10)を仮定します。ただし,クラスタキーのないFIX表の場合で,PCTFREEを省略したときは,PCTFREE=(0,0)を仮定します。

「PCTFREE」を指定しない場合,PCTFREE=(30,10)を仮定します。

DBの格納効率向上

なし

表オプションの「SEGMENT REUSE」

「SEGMENT REUSE」の指定有無に関係なく,空き領域の再利用機能を適用します。ただし,リバランス表,一時表の場合は,空き領域の再利用機能を適用しません。

「SEGMENT REUSE」の指定有無に関係なく,空き領域の再利用機能を適用します。ただし,リバランス表,一時表の場合は,空き領域の再利用機能を適用しません。

「SEGMENT REUSE」を指定しない場合,空き領域の再利用機能を適用しません。

DBの空き領域のサーチ方法の変更によるSQL安定稼働

なし

表オプションの「SEGMENT REUSE」の「OPTION 再利用オプション値」

再利用オプション値として常に3を仮定し,再利用オプション機能を適用します。

再利用オプション値として常に3を仮定し,再利用オプション機能を適用します。

「OPTION 再利用オプション値」を指定しない場合,再利用オプション機能を適用しません。

DBの空き領域のサーチ方法の変更によるSQL安定稼働

なし

列定義の「NO SPLIT」

定義長が256バイト以上の可変長文字列(VARCHAR,NVARCHAR,MVARCHAR)を定義する場合,ノースプリットオプションを常に適用します。

定義長が256バイト以上の可変長文字列(VARCHAR,NVARCHAR,MVARCHAR)を定義する場合,ノースプリットオプションを常に適用します。

「NO SPLIT」を指定しない場合,ノースプリットオプションを適用しません。

DB容量削減

なし

ALTER TABLE

(表定義変更)

列追加定義の「NO SPLIT」

定義長が256バイト以上の可変長文字列(VARCHAR,NVARCHAR,MVARCHAR)を定義する場合,ノースプリットオプションを常に適用します。

定義長が256バイト以上の可変長文字列(VARCHAR,NVARCHAR,MVARCHAR)を定義する場合,ノースプリットオプションを常に適用します。

「NO SPLIT」を指定しない場合,ノースプリットオプションを適用しません。

DB容量削減

なし

(凡例)

→:バージョン09-04の省略時解釈と同じであることを示します。

(2) 指定不要になったSQL構文

省略時解釈以外の指定をする必要がないため指定不要になったSQL構文を,次の表に示します。

表D‒2 指定不要になったSQL構文

SQL

ALTER TABLE(表定義変更)

列追加定義の「NO SPLIT」

CREATE TABLE(表定義)

列定義の「NO SPLIT」

表オプションの「SEGMENT REUSE」の「OPTION 再利用オプション値」