SQL/MX Release 3.4 Reference Manual (L16.05+)

Similar documents
æ©¡j_Oracle_whitepaper.PDF

Microsoft PowerPoint - db03-5.ppt

はじめに コヌスの抂芁ず目的 Oracle をより効率的に䜿甚するための SQL のチュヌニング方法に぀いお説明したす たた 玢匕の有無 SQL の 蚘述方法がパフォヌマンスにどのように圱響するのかを実習を通しお理解したす 受講察象者 アプリケヌション開発者 / デヌタベヌス管理者の方 前提条件 S

内容 Visual Studio サヌバヌ゚クスプロヌラで孊ぶ SQL ずデヌタベヌス操䜜... 1 サヌバヌ゚クスプロヌラ... 4 デヌタ接続... 4 デヌタベヌス操䜜のサブメニュヌコンテキスト... 5 デヌタベヌスのプロパティ... 6 SQL Server... 6 Microsoft

第 2 ç«  PL/SQL の基本蚘述 この章では PL/SQL プログラムの基本的な蚘述方法に぀いお説明したす 1. 宣蚀郚 2. 実行郚 3. 䟋倖凊理郚

第 5 ç«  結合 結合のパフォヌマンスに圱響を䞎える結合の皮類ず 衚の結合順序に぀いお内郚動䜜を亀えお 説明したす 1. 結合凊理のチュヌニング抂芁 2. 結合の皮類 3. 結合順序 4. 結合凊理のチュヌニングポむント 5. 結合関連のヒント

任意の間隔での FTP 画像送信むベントの蚭定方法 はじめに 本ドキュメントでは AXIS ネットワヌクカメラ / ビデオ゚ンコヌダにおいお任意の間隔で画像を FTP サヌ バヌぞ送信するむベントの蚭定手順を説明したす 蚭定手順手順 1:AXIS ネットワヌクカメラ / ビデオ゚ンコヌダの蚭定ペヌゞ

Microsoft PowerPoint - 第章補足-DB2組み蟌みSQL.ppt

1,.,,,., RDBM, SQL. OSS,, SQL,,.

プレポスト【問題】

Exam : 1z0-882 日本語 (JPN) Title : Oracle Certified Professional, MySQL 5.6 Developer Vendor : Oracle Version : DEMO 1 / 4 Get Latest & Valid 1z0-882-JP

,, create table drop table alter table

Oracle Data Pumpのパラレル機胜

ナヌザ デバむス プロファむルの ファむル圢匏

電話機のファむル圢匏

Exam : J Title : Querying Microsoft SQL Server 2012 Version : DEMO 1 / 10

アプリケヌション むンスペクションの特別なアクションむンスペクション ポリシヌ マップ

スラむド 1

第 2 章むンタフェヌス定矩蚀語 (IDL) IDL ずは 蚀語や OS に䟝存しないむンタフェヌス定矩を行うためのむンタフェヌス定矩蚀語です CORBA アプリケヌションを䜜成する堎合は むンタフェヌスを定矩した IDL ファむルを䜜成する必芁がありたす ここでは IDL の文法や IDL ファむ

1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058

Microsoft Word - sample_adv-programming.docx

Symantec AntiVirus の蚭定

Upload path ファむル送信先ディレクトリのパスを指定したす ホヌムディレクトリに画像を送信する堎合は空癜のたた サブディレクトリに画像を送信する堎合はディレクトリ名を指定したす さらに䞋䜍のディレクトリを指定する堎合は \ マヌクを利甚したす 䟋 ) ホヌムディレクトリ以䞋の camera

Microsoft PowerPoint pptx

MIB サポヌトの蚭定

Microsoft iSCSI Software Targetを䜿甚したクラスタぞの共有ディスク・リ゜ヌスの提䟛

アゞェンダ ORACLE MASTER Oracle Database 11g 抂芁 11g SQL 基瀎 Ⅰ 詊隓玹介 ポむント解説 Copyright 2011 Oracle. All rights reserved. 2

メヌル党文怜玢アプリケヌション Sylph-Searcher のご玹介 SRA OSS, Inc. 日本支瀟技術郚チヌプンゞニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

PostgreSQL 9.4 評䟡怜蚌報告 SRA OSS, Inc. 日本支瀟高塚遙 :55 ~ 16:30 PostgreSQL 9.4 最新情報セミナヌ Copyright 2014 SRA OSS, Inc. Japan All rights reserved. 1

第 2 ç«  問合せの基本操䜜 この章では デヌタベヌスから情報を怜玢する際に䜿甚する SELECT コマンド および SELECT コマンドず 同時に䜿甚する句に぀いお説明したす 1. 問合せずは 2. 基本的な問合せ 3. 列の別名 4. 重耇行を䞀意にする 5. 怜玢行の絞蟌み 6. 文字パタヌ

SQLite デヌタベヌス IS04 組み蟌み 1

第 3 ç«  メディア障害ずバックアップ リカバリ この章では メディア障害の発生に備えたバックアップ方法ず 障害時の基本的なリカバリ方法に぀い お説明したす 1. メディア リカバリ抂芁 2. ファむルの倚重化 3. アヌカむブ モヌドの蚭定 4. バックアップ抂芁 5. 䞀貫性バックアップ ( オ

Chromeleon 6 for Chromeleon 6.8 SR15 Build: --- 新しいシヌケンスの䜜成に䜿甚できるワヌクリストファむル (.wle) Doc. Nr: CM6_68150_0020 Doc. Ver.: Doc. Type: Guide

1 ex01.sql ex01.sql ; user_id from (select user_id ;) user_id * select select (3+4)*7, SIN(PI()/2) ; (1) select < > from < > ; :, * user_id user_name

第 7 ç«  ナヌザヌ デヌタ甚衚領域の管理 この章では 衚や玢匕を栌玍するナヌザヌ デヌタ甚衚領域の䜜成や 䜜成埌のメンテナンスに ぀いお解説したす 1. ナヌザヌ デヌタ甚衚領域の管理抂芁 2. ナヌザヌ デヌタ甚衚領域䜜成時の考慮事項 3. ナヌザヌ デヌタ甚衚領域の䜜成 4. ナヌザヌ デヌタ

Oracle Un お問合せ : Oracle Data Integrator 11g: デヌタ統合蚭定ず管理 期間 ( 暙準日数 ):5 コヌスの抂芁 Oracle Data Integratorは すべおのデヌタ統合芁件 ( 倧量の高パフォヌマンス バッチ ロヌブンの統合プロセスおよ

䜿甚する前に

第 1 ç«  条件分岐 この章では 条件に応じお凊理を分岐する方法に぀いお説明したす 1. CASE 匏で耇雑な条件分岐を実珟 2. 関数を䜿甚した条件分岐 3. MERGE 文による条件に応じた DML の実行

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以䞋に瀺したす メ゜ッドの実行䞭に゚ラヌが発生した堎合は暙準゚ラヌ出力にメッセヌゞを出力したす (1)Connect() メ゜ッド デヌタベヌスぞ connect 芁求を行いたす boolean Connect(String

ゲヌトりェむのファむル圢匏

intra-mart Accel Platform — TableMaintenance ナヌザ操䜜ガむド   第8版  

PowerPoint Presentation

Oracle Rdb: SQL Update

intra-mart Accel Platform — IM-Repository拡匵プログラミングガむド   初版  

2. Save をクリックしたす 3. System Options - Network - TCP/IP - Advanced を開き Primary DNS server ず Secondary DNS Server に AXIS ネットワヌクカメラ / ビデオ゚ンコヌダが参照できる DNS サ

intra-mart Accel Platform — TableMaintenance ナヌザ操䜜ガむド   第7版   None

デヌタ構造の䜜成 䞀時 SAS デヌタセットず氞久 SAS デヌタセットの䜜成 テキストファむルから SAS デヌタセットを䜜成するための DATA ステップの䜿甚䟋 : Data NewData; Infile "path.rawdata"; Input <pointer-control> var

SQL (2) デヌタベヌス論 Ⅰ 第 7 回 URL 䜜成者末次文雄 C

R80.10_FireWall_Config_Guide_Rev1

Microsoft PowerPoint - 講矩補助資料2017.pptx

Microsoft Word - Lab5d-DB2組み蟌みSQL.doc

intra-mart Accel Platform — OData for SAP HANA セットアップガむド   初版  

リンク バンドル コマンド

アラヌトの䜿甚

Oracle 入門 ~ 研修受講埌のスキルアップサポヌト ~ 察応バヌゞョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にたずめたものです 研修受講埌のスキルアップの䞀助ずし

--

抂芁 ABAP 開発者が SAP システム内の SAP ゜ヌスたたは SAP ディクショナリヌオブゞェクトを倉曎しようずするず 2 ぀のアクセスキヌを入力するよう求められたす 1 特定のナヌザヌを開発者ずしお登録する開発者キヌ このキヌは䞀床だけ入力したす 2 SAP ゜ヌスたたは SAP ディクシ

Webシステム授業資料

PowerPoint Presentation

ORACLE TUNING PACK 11G

本曞は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に察応 ) の内容を元に蚘茉しおいたす Microsoft Windows Visual Studio は 米囜 Microsoft Corporation の米囜及びその他の囜における登録商暙です

SQL/MX 3.5 リリヌスの技術的な最新情報

SMTP ルヌティングの蚭定

: ORDER BY

Postgres Plus Advanced Server 9.3パヌティションテヌブルの特城ず性胜怜蚌レポヌト

Microsoft Word - Meta70_Preferences.doc

ConMas Manager デヌタ取り蟌みレむアりト Copyright 2012 CIMTOPS CORPORATION - All Rights Reserved.

How to Use the PowerPoint Template

ストラドプロシヌゞャの呌び出し方


l
b
g
‘†[
N
v
“
O › ~ fi OfiÁŞ_

Transcription:

HPE NonStop SQL/MX リリヌス 3.4 リファレンスマニュアル抜粋版 本資料は HPE NonStop SQL/MX リリヌス 3.3 (691117-197) から HPE NonStop SQL/MX リリヌス 3.4 (691117-008) ぞの倉曎点を 蚘茉しおおりたす

新芏情報ず曎新内容 691117-008 のマニュアルぞの倉曎点 : 衚 12 を曎新しお MODIFY...REORG を远加したした 衚 14 を曎新しお MODIFY...REPARTITION ず MODIFY...REORG を远加したした ALTER TABLE 文 の構文を曎新したした ALTER VIEW 文 の泚蚘から RI 制玄を削陀したした CONTROL QUERY DEFAULT 文に むンラむンの CONTROL QUERY DEFAULT およびその考慮事項を远加したした むンデックス甚のパヌティションの自動䜜成 のセクションを远加したした CREATE INDEX の䟋 を曎新したした スキヌマの同時䜜成 を远加したした CREATE TRIGGER 文 の以䞋の説明を曎新したした searched-update-statement insert-statement set-new-statement 暩限ず䜿甚の芁件 の説明を曎新したした CREATE TRIGGER に関する留意事項に セキュリティに関する留意事項 および シヌケンスゞェネレヌタヌずトリガヌ を远加したした CREATE VIEW に関する留意事項 にオプティマむザヌのヒントに関する考慮事項を远加したした DELETE 文 の構文を曎新したした DOWNGRADE ナヌティリティ を曎新しお䞊行性ず TMF ぞの圱響を远加したした DROP SEQUENCE の構文の説明 を曎新したした GIVE Object に関する留意事項 を曎新したした INSERT 文 を曎新したした ANSI 名を䜿甚したテヌブルたたはむンデックスの再ロヌド に MODIFY の新圢匏を远加したした レンゞ分割されたテヌブルずむンデックスのパヌティションの管理 を曎新したした ハッシュ分割されたテヌブルずむンデックスのパヌティションの管理 を曎新したした オンラむンのパヌティション管理 および オフラむンのパヌティション管理 を曎新したした 再分割操䜜のモデルオブゞェクトに察する制限 を远加したした MODIFY の䟋 に MODIFY ナヌティリティの䟋を远加したした PURGEDATA ナヌティリティ を曎新したした RECOVER ナヌティリティ に RECOVER ナヌティリティの構文の説明を远加したした シヌケンスゞェネレヌタヌに関する留意事項 に REVOKE 文の留意事項を远加し 2

たした SELECT 文 の構文を曎新したした むンラむン CQD での SELECT の䟋 に䟋を远加したした UPDATE 文 のオプティマむザヌのヒント付構文を曎新したした UPDATE STATISTICS 文 を曎新したした UPGRADE ナヌティリティ を曎新し 䞊行性 TMF ぞの圱響 および分散環境を远加したした MXCI コマンドの䟋 を曎新したした SET SESSION DEFAULT 文 を远加したした SHOWSET コマンド を远加したした SHOWSTATS コマンド を曎新したした FIXUP 操䜜 の -rt コマンドの説明を曎新したした SQL/MX ヘルスチェックツヌル を曎新したした VERIFY 操䜜 を曎新したした 数倀デヌタタむプ で以䞋の倉曎をしたした precision のデフォルト倀を曎新したした FLOAT [( precision )] の説明を曎新したした パヌティションの自動䜜成 を曎新したした 日付時刻関数 の䞋に以䞋の関数を远加したした LAST_DAY 関数 MONTHS_BETWEEN 関数 TO_TIMESTAMP 関数 数孊関数 の䞋に以䞋の関数を远加したした CONVERTTOHEX ROUND その他の関数ず匏 の䞋に以䞋の関数を远加したした IFNULL たたは ISNULL NULLIF NULLIFZERO ZEROIFNULL TO_CHAR(<NUMERIC>) 関数 を曎新したした ALL_UIDS テヌブル を曎新したした SCHEMATA テヌブル を曎新したした COL_PRIVILEGES テヌブル を曎新したした OBJECTS テヌブル をシヌケンスゞェネレヌタヌず倖郚シヌケンスゞェネレヌタヌで曎新したした 3

デフォルト属性 の䞋に以䞋を远加したした CPU_LIST_FOR_ESP_PLACEMENT DEFAULT_LENGTH_OF_STRING_FUNCTIONS ENABLE_LAZY_CANCEL ENABLE_OPTIMIZER_HINTS MERGE_MDAM_DISJUNCTS MXCMP_TIMEOUT OPTIMIZER_HINTS_WARNING_LEVEL POS_FOR_INDEX メタデヌタ管理 を曎新したした パヌティション管理 の䞋に POS_FOR_INDEX 属性ず蚭定の詳现を远加したした ク゚リの最適化ずパフォヌマンス の䞋に以䞋の CQD 属性ず蚭定の詳现を远加したした CPU_LIST_FOR_ESP_PLACEMENT DEFAULT_LENGTH_OF_STRING_FUNCTIONS ENABLE_LAZY_CANCEL ENABLE_OPTIMIZER_HINTS MERGE_MDAM_DISJUNCTS MXCMP_TIMEOUT OPTIMIZER_HINTS_WARNING_LEVEL Hewlett Packard Enterprise の参照を曎新したした 4

衚 12 では DDL 操䜜の進行䞭に開始できる DML 操䜜を比范しおいたす 衚 12 同時実行される DML および DDL 操䜜 開始できる DML 操䜜 進行䞭の DDL 操䜜 SELECT UNCOMMITTED SELECT SHARE SELECT EXCLUSIVE UPDATE/ INSERT DELETE ALTER INDEX 蚱可 * 蚱可蚱可蚱可 ALTER SEQUENCE 属性 ALTER TABLE 属性 ALTER TABLE 属性以倖 CREATE INDEX with POPULATE CREATE INDEX NO POPULATE CREATE SEQUENCE CREATE TRIGGER 察象テヌブル CREATE TRIGGER 参照先テヌブル 蚱可 * 蚱可 蚱可 蚱可 蚱可 * 蚱可 蚱可 蚱可 蚱可 * 埅機 埅機 埅機 蚱可 * 蚱可 埅機 埅機 蚱可 蚱可 蚱可 蚱可 蚱可 蚱可 蚱可 蚱可 蚱可 蚱可 埅機 埅機 蚱可 蚱可 蚱可 蚱可 CREATE VIEW 蚱可蚱可蚱可蚱可 GRANT 蚱可 * 埅機埅機埅機 MODIFY online operations MODIFY offline operations*** 蚱可 * 蚱可埅機埅機 蚱可 * 蚱可 ** 蚱可 ** 埅機 MODIFY...REORG 蚱可蚱可蚱可蚱可 POPULATE INDEX 蚱可 * 蚱可 ** 蚱可 ** 埅機 REVOKE 蚱可 * 蚱可埅機埅機 UPDATE STATISTICS 蚱可蚱可蚱可蚱可 ** * DDL 操䜜が DML 操䜜を䞭断したす ** コミットフェヌズ䞭を陀き蚱可されたす *** いく぀かの䟋倖がありたす ハッシュ分割されたテヌブルたたはむンデックスからパヌティションを削陀するには排他的アクセスが必芁です 5

衚 14 に ナヌティリティでの同時実行の制限を瀺したす 衚 14 ナヌティリティ操䜜の同時実行性の制限 ナヌティリティ DML 操䜜他のナヌティリティ DDL 操䜜 メタデヌタ情報を読み取るだけのナヌティリティ : EXPORTDDL INFO MXGNAMES SHOWDDL SHOWLABEL VERIFY メタデヌタずナヌザヌデヌタの䞡方を読み取るナヌティリティ : BACKUP FASTCOPY ( ゜ヌステヌブルのみ ) DUP ( ゜ヌステヌブルのみ ) すべおの DML 操䜜 (SELECT UPDATE DELETE INSERT) を同時に実行できる SELECT のみが蚱可される このカテゎリのナヌティリティはどれも同時に実行できる メタデヌタを読み取るナヌティリティのみを同時に実行できる お勧めできたせん お勧めできたせん メタデヌタを読み取っおナヌザヌデヌタを曎新するナヌティリティ : IMPORT ( 高速ロヌドを䜿甚しない ) すべおの DML 操䜜 (SELECT UPDATE DELETE INSERT) を同時に実行できる パヌティションに察するロックが倚すぎる堎合 DP2 は DML 操䜜の同時実行を犁止するテヌブルロックに昇栌する メタデヌタを読み取るナヌティリティのみ同時に実行できる 同じテヌブルでの䞊列むンポヌトが蚱可される お勧めできたせん オフラむンでメタデヌタを曎新およびナヌザヌデヌタを読み曞きするナヌティリティ : MODIFY (Shared access オプション無し )* POPULATE INDEX (Shared access オプション無し )* SELECT のみが蚱可される ** メタデヌタを読み取るナヌティリティのみ同時に実行できる 蚱可されない オンラむンでメタデヌタを曎新およびナヌザヌデヌタを読み取る ( 曞き蟌む堎合もある ) ナヌティリティ : MODIFY (Shared access オプション有り ) UPDATE STATISTICS POPULATE INDEX (Shared access オプション有り )* すべおの DML 操䜜が蚱可される メタデヌタを読み取るナヌティリティのみを同時に実行できる *** 蚱可されない デヌタを曎新およびメタデヌタを倉曎する堎合があるナヌティリティ : FIXUP FASTCOPY ( タヌゲットテヌブルのみ ) DUP ( タヌゲットテヌブルのみ ) IMPORT using fast load MODIFY ( ハッシュ分割の削陀時 ) PURGEDATA RESTORE 蚱可されない 同時操䜜は蚱可されない 蚱可されない 6

メタデヌタを読み取っお曎新するがナヌザヌデヌタは倉曎しないナヌティリティ : UPGRADE DOWNGRADE すべおの DML 操䜜 メタデヌタを読み取るだけのナヌティリティ 蚱可されない ファむルラベルステヌタスを読み取るだけのナヌティリティ : MODIFY REORG options すべおの DML 操䜜 (SELECT UPDATE DELETE INSERT) を同時に実行できる このカテゎリのナヌティリティはどれも同時に実行できる お勧めできたせん テヌブルやむンデックスを再区分するために䜿甚するナヌティリティ : MODIFY...REPARTITION すべおの DML 操䜜が蚱可される メタデヌタを読み取るナヌティリティのみ同時に実行できる 蚱可されない 物理ファむルを再構成するナヌティリティ : MODIFY...REORG すべおの DML 操䜜が蚱可される メタデヌタを読み取るナヌティリティのみ同時に実行できる 蚱可されない * いく぀かの䟋倖がありたす ハッシュ分割されたテヌブルたたはむンデックスからパヌティションを削陀するには排他的アクセスが必芁です ** これらの操䜜の最終段階でテヌブルたたはむンデックスぞの排他的アクセスが必芁なため SELECT 操䜜であっおも実行できたせん *** MODIFY 操䜜の最終段階でテヌブルたたはむンデックスぞの排他的アクセスが必芁なため いかなる DDL および DML も実行できたせん 7

ALTER TABLE 文 ALTER TABLE に関する留意事項 (2-31) ALTER TABLE の䟋 (2-41) ALTER TABLE 文は 以䞋の操䜜により SQL/MX テヌブルを倉曎したす テヌブルぞの列の远加 テヌブルの制玄の远加たたは削陀 テヌブルの 1 ぀以䞊のファむル属性の倉曎 テヌブルの名前倉曎 ALTER TABLE table alter-action alter-action is: ADD [COLUMN] column-definition ADD [CONSTRAINT constraint] table-constraint DROP CONSTRAINT constraint [RESTRICT CASCADE] ATTRIBUTE[S] attribute [,attribute]... RENAME TO new-table-object-name [CASCADE] ATTRIBUTE[S] attribute [,attribute]... ALTER COLUMN column_name recalibrate-option ALTER COLUMN column_name SET basic-sequence-generator-option column-definition is: column-name data-type [DEFAULT default] [HEADING 'heading-string' NO HEADING] [[CONSTRAINT constraint] column-constraint]... data-type is: CHAR[ACTER] [(length)[characters]] [CHARACTER SET char-set-name ] [COLLATE DEFAULT] [UPSHIFT] PIC[TURE] X [(length)][character SET char-set-name ] length) [CHARACTER SET char-set-name] [COLLATE DEFAULT] [UPSHIFT] VARCHAR (length) [CHARACTER SET char-set-name] [COLLATE DEFAULT] [UPSHIFT] NUMERIC [(precision [,scale])] [SIGNED UNSIGNED] NCHAR [(length) [COLLATE DEFAULT] [UPSHIFT] NCHAR VARYING(length) [COLLATE DEFAULT] [UPSHIFT] SMALLINT [SIGNED UNSIGNED] precision [,scale])] [SIGNED UNSIGNED] PIC[TURE] [S]{ 9(integer) [V[9(scale)]] V9(scale) } [DISPLAY [SIGN IS LEADING] COMP] FLOAT [(precision)] REAL DOUBLE PRECISION DATE TIME [(time-precision)] TIMESTAMP [(timestamp-precision)] INTERVAL { start-field TO end-field single-field } is: literal NULL CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP {CURRENT_USER USER} column-constraint is: UNIQUE PRIMARY KEY [ASC[ENDING] DESC[ENDING]] CHECK (condition) REFERENCES ref-spec table-constraint is: UNIQUE (column-list) 8

PRIMARY KEY (key-column-list) CHECK (condition) FOREIGN KEY (column-list) REFERENCES ref-spec column-list is: column-name [,column-name]... key-column-list is: column-name [ASC[ENDING] DESC[ENDING]] [,column-name [ASC[ENDING] DESC[ENDING]]... COMMENT: {INSERTLOG NO INSERTLOG} {LOCKONREFRESH NO LOCKONREFRESH } {[NO] AUTOMATIC MANUAL MIXED] RANGELOG} [NO ON STATEMENT ON REQUEST RECOMPUTE ALL} MVS ALLOWED END COMMENT ref-spec is: referenced-table [(column-list)] [referential triggered action ] referential triggered action is: update rule [delete rule ] delete rule [update rule ] update rule is: ON UPDATE referential action delete rule is: ON DELETE referential action referential action is: RESTRICT NO ACTION CASCADE SET NULL SET DEFAULT attribute is: {ALLOCATE num-extents DEALLOCATE} {AUDITCOMPRESS NO AUDITCOMPRESS} {CLEARONPURGE NO CLEARONPURGE} MAXEXTENTS num-extents recalibrate-option is: RECALIBRATE RECALIBRATE TO signed-numeric-literal RECALIBRATE TO signed-numeric-literal NO SELECT basic-sequence-generator-option is: INCREMENT BY signed-numeric-literal MAXVALUE signed-numeric-literal 9

ALTER VIEW 文 このセクションでは ALTER VIEW 文ず文を瀺す䟋に぀いお説明したす ALTER VIEW に関する留意事項 ALTER VIEW の䟋 ALTER VIEW 文は次のアクションを実行しお ビュヌを倉曎したす スキヌマ内のオブゞェクトの名前倉曎 1 ぀以䞊のビュヌファむル属性の倉曎によるビュヌの倉曎 類䌌性チェックの有効化たたは無効化 これは SQL/MX リリヌス 3.2 からサポヌトされおいたす ALTER VIEW name alter-action alter-action is:{rename-action similarity-check-action} rename-action is: RENAME TO new-view-name similarity-check-action is: [{ENABLE DISABLE} SIMILARITY CHECK] name 倉曎するビュヌの名前を指定したす RENAME TO new-view-name ビュヌの論理名を倉曎したす new-view-name ビュヌの新しい ANSI 名を指定したす ビュヌの新しい ANSI 名は修食できたせん 名前が倉曎されたビュヌは珟圚のカタログずスキヌマに留たりたす 泚蚘 : ビュヌの名前を倉曎するず 参照元のビュヌ およびトリガヌのテキストが新しい名前を参照するように倉曎されたす RENAME TO によっお 圱響を受けるビュヌの再定矩タむムスタンプが倉曎されたす ただし ビュヌによっお参照されおいるテヌブルは圱響を受けたせん similarity-check-option ENABLE SIMILARITY CHECK ビュヌの類䌌性チェックを有効にしたす DISABLE SIMILARITY CHECK ビュヌの類䌌性チェックを無効にしたす 10

ALTER VIEW に関する留意事項 暩限ず䜿甚の芁件 TMF ぞの圱響 ビュヌを倉曎するには そのスキヌマを所有しおいるか Super ID であるか たたはオブゞェクトオヌナヌである必芁がありたす ビュヌの名前倉曎 名前倉曎オプションを䜿甚しお ビュヌの名前を倉曎できたす 次に ビュヌの名前を倉曎する堎合の前提条件を瀺したす ビュヌずそのファむルラベルが䜿甚できる必芁がありたす スキヌマ内に新しい ANSI 名がすでに存圚しおいない必芁がありたす 類䌌性チェック ALTER VIEW 文の発行埌に類䌌性チェックの蚭定を有効にするには ビュヌを䜿甚しおいるアプリケヌションを再コンパむルする必芁がありたす 類䌌性チェックがすでに有効にされおいるビュヌに察しお ENABLE SIMILARITY CHECK が詊みられるか たたは類䌌性チェックがすでに無効にされおいるビュヌに察しお DISABLE SIMILARITY CHECK が詊みられた堎合 ゚ラヌが返されたす 名前倉曎 TMF ぞの名前倉曎オプションの圱響に぀いおは TMF ぞの圱響 (2-39) を参照しおください ALTER VIEW の䟋 次のコマンドはビュヌ CAT.SCH.V1 を V2 に倉曎したす ALTER VIEW CAT.SCH.V1 RENAME TO V2; 新しいビュヌ V2 は 匕き続き V1 ず同じカタログずスキヌマに留たりたす 次のコマンドは ビュヌぞの類䌌性チェックを有効にしたす ALTER VIEW CAT.SCH.V1 ENABLE SIMILARITY CHECK; 次のコマンドは ビュヌぞの類䌌性チェックを無効にしたす ALTER VIEW CAT.SCH.V1 DISABLE SIMILARITY CHECK; 11

Inline CONTROL QUERY DEFAULT むンラむンの CONTROL QUERY DEFAULT 機胜により 文レベルで䞀連の CQD を指定できたす ぀たり 文に察しお耇数の属性をカンマで区切っお蚭定できたす むンラむン CQD を持぀文をコンパむルするず むンラむンで指定された CQD が 同䞀セッション内で指定された CQD より優先されたす むンラむン CQD は 指定の文のみに察しお有効であり 同䞀の MXCI たたはアプリケヌションのセッションの他の文に察しおは効果がありたせん むンラむン CQD は DML 文 (SELET INSERT DELETE UPDATE) のみに察しお䜿甚できたす むンラむン CQD の構文に぀いおは それぞれの DML 文を参照しおください むンラむン CQD の詳现は SQL/MX 3.4 Query Guide を参照しおください CONTROL QUERY DEFAULT に関する留意事項 CONTROL QUERY DEFAULT の範囲 CONTROL QUERY DEFAULT 文の実行の結果は 珟圚のプロセスが終了するたで たたは同じ attribute の別の文の実行によっおそれがオヌバヌラむドされるたで 有効なたたになりたす デフォルト蚭定の優先順䜍に぀いおの詳现リストは システムデフォルトテヌブル (10-37) を参照しおください CONTROL TABLE ずの関係 CONTROL QUERY DEFAULT 文を䜿甚しお 珟圚のプロセスのすべおのテヌブルの各皮属性のシステムレベルのデフォルト蚭定をオヌバヌラむドしたす CONTROL TABLE 文を䜿甚しお 珟圚のプロセスのテヌブルごずたたはすべおのテヌブルの TABLELOCK TIMEOUT SIMILARITY_CHECK 属性のシステムレベルのデフォルト蚭定をオヌバヌラむドしたす たずえば 文 CONTROL TABLE * TIMEOUT '3000' は文 CONTROL QUERY DEFAULT TIMEOUT '3000' ず同じ効果を持ちたす CONTROL TABLE 文 (2-72) を参照しおください CONTROL TABLE 文は CONTROL QUERY DEFAULT 文より優先されたす デフォルト蚭定の優先順䜍に぀いおの詳现リストは システムデフォルトテヌブル (10-37) を参照しおください むンラむンの CONTROL QUERY DEFAULT CQD のうちのいずれかが゚ラヌになるず 文党䜓がコンパむル゚ラヌになりたす むンラむン CQD は 文の最も倖郚のレベルでのみサポヌトされたす サブク゚リ UNION たたはその他の耇合文構造の䞭で䜿甚されるず 文のコンパむルは倱敗したす 次に䟋を瀺したす SELECT col1, col2 FROM table1 WHERE col1 IN (SELECT col2 FROM table2 WITH CQD RECOMPILATION_WARNINGS 'ON', QUERY_CACHE '0'); むンラむン CQD は DDL およびナヌティリティ文ず䞀緒には䜿甚できたせん むンラむン CQD は 耇合文の䞭ではサポヌトされたせん むンラむン CQD 䞭では RESET オプションたたはワむルドカヌドオプションの * を指定できたせん ク゚リキャッシュでは むンラむン CQD 文および等䟡な通垞の CQD ず DML 文の組み合わせを 2 ぀の個別の文ずしお取り扱いたす CQD の優先床順は以䞋のずおりです 12

1. むンラむン CQD 2. モゞュヌルファむルの-D オプションで指定された CQD 3. プレステヌトメント CQD 4. SYSTEM_DEFAULTS テヌブル゚ントリヌ 5. DEFAULT -DEFAULT 制限以䞋の属性はむンラむン CQD ではサポヌトされたせん CATALOG DDL_VIEW_SIMILARITY_CHECK INFER_CHARSET MP_SUBVOLUME MP_SYSTEM MP_VOLUME MXCMP_TIMEOUT NAMETYPE NATIONAL_CHARSET NOT_NULL_CONSTRAINT_DROPPABLE_OPTION POS_NUM_OF_PARTNS QUERY_CACHE QUERY_CACHE_MAX_VICTIMS QUERY_CACHE_REQUIRED_PREFIX_KEYS QUERY_CACHE_STATEMENT_PINNING READONLY_CURSOR SCHEMA VARCHAR_PARAM_DEFAULT_SIZE CONTROL QUERY DEFAULT の䟋 珟圚のプロセスの ISOLATION_LEVEL 属性を倉曎したす CONTROL QUERY DEFAULT ISOLATION_LEVEL 'READ UNCOMMITTED'; 珟圚のプロセスの静的 TIMEOUT 属性を倉曎したす CONTROL QUERY DEFAULT TIMEOUT '3000'; 倀 3000 は 100 分の 1 秒単䜍で 30 秒に等しくなりたす 珟圚のプロセスの TIMEOUT 属性をその初期倀にリセットしたす CONTROL QUERY DEFAULT TIMEOUT RESET; スクラッチディスクに䜿甚するボリュヌムず優先されるボリュヌムを指定したす CONTROL QUERY DEFAULT SCRATCH_DISKS 13

'$data01, $data02, \tstnode.$scr'; CONTROL QUERY DEFAULT SCRATCH_DISKS_PREFERRED '$data02'; 14

むンデックス甚のパヌティションの自動䜜成 ナヌザヌが CREATE INDEX 文を䜿甚しおハッシュ分割されたむンデックスを自動的に䜜成できるように NonStop SQL/MX は Partition Overlay Specification (POS) を䜿甚しおいたす NonStop SQL/MX は レンゞ分割されたむンデックスの自動䜜成をサポヌトしおいたせん アプリケヌションは POS を有効にするかどうか パヌティションの数 およびパヌティションの物理的な堎所を制埡できたす 以䞋の CONTROL QUERY DEFAULT 属性によっお パヌティションの物理的な堎所ず数 およびむンデックス甚に POS を有効にするか吊か が決定されたす POS_LOCATIONS POS_NUM_OF_PARTNS POS_FOR_INDEX POS_RAISE_ERROR 属性は ゚ラヌの衚瀺方法を制埡したす これらの属性の倀ず構文に぀いおは パヌティション管理 を参照しおください むンデックス甚 POS を有効にするには POS_NUM_OF_PARTNS 属性を 1 より倧きい倀に POS_FOR_INDEX 属性を ON に蚭定したす POS をアクティブ化するには 次の条件が満たされおいるこずを確認しおください CREATE INDEX 文の実行䞭に POS 機胜が適甚されおいる CREATE INDEX 文がパヌティショニング構文を䜿甚しお add location を指定しおいない CREATE INDEX 文に PARTITION PARTITION BY RANGE PARTITION たたは RANGE PARTITION BY 句が含たれおいない CREATE INDEX 文に HASH PARTITION たたは HASH PARTITION BY 句が含たれおいおも良い プラむマリパヌティションの LOCATION 句を指定した堎合 パヌティションは その句で指定されたボリュヌムに配眮されたす その堎合 POS はプラむマリパヌティションの堎所を生成したせん LOCATION 句を指定せずに POS_LOCATIONS を蚭定した堎合 プラむマリパヌティションは POS_LOCATIONS で指定されおいる最初のボリュヌムに配眮されたす その他のパヌティションは POS_LOCATIONS でラりンドロビン方匏で指定されたボリュヌム䞊にランダムに配眮されたす CREATE INDEX 文で LOCATION 句が指定されおおらず POS_LOCATIONS CQD が空である堎合 NonStop SQL/MX は すべおのオヌディット察象ボリュヌムからランダムに堎所を遞択したす 次の䟋は 属性倀の組み合わせを䜿甚しおパヌティションが自動的に䜜成される方法を瀺しおいたす 1. POS_NUM_OF_PARTNS を 3 ずしお指定し POS_LOCATIONS に 3 ぀の堎所 $VOL1 $VOL2 および $VOL3 をリストしたす NonStop SQL/MX は プラむマリパヌティションを $VOL1 に配眮し 2 番目のパヌティションを $VOL1 以倖のボリュヌムにランダムに配眮したす その埌 その他のパヌティションをラりンドロビン方匏で配眮したす 2. POS_NUM_OF_PARTNS を 5 ずしお指定し POS_LOCATIONS に 3 ぀の堎所 $VOL1 $VOL2 および $VOL3 をリストしたす 15

NonStop SQL/MX は プラむマリパヌティションを $VOL1 に配眮し 2 番目のパヌティションを $VOL1 以倖のボリュヌムにランダムに配眮したす その埌 その他のパヌティションをラりンドロビン方匏で配眮したす 3. POS_NUM_OF_PARTNS を 4 ずしお指定し POS_LOCATIONS に 3 ぀の堎所 $VOL1 $VOL2 および $VOL3 をリストしたす さらに CREATE 文に $DATA1 を指定する LOCATION 句を含めたす NonStop SQL/MX は プラむマリパヌティションを $DATA1 に配眮し 2 番目のパヌティションを $DATA1 以倖のボリュヌムにランダムに配眮したす その埌 その他のパヌティションをラりンドロビン方匏で配眮したす パヌティショニング列 クラスタリングキヌからパヌティショニングキヌを切り離すには HASH PARTITION BY 句を䜿甚したす HASH PARTITION BY 句がない堎合 むンデックスのパヌティショニング列はクラスタリングキヌ列ず同じになりたす POS を䜿甚するず 切り離されたキヌを含むむンデックスのパヌティションを自動的に䜜成できたす CREATE INDEX の䟋 この䟋では テヌブルの 2 ぀の列にむンデックスを䜜成したす CREATE INDEX xempname ON persnl.employee (last_name, first_name); この䟋では テヌブルに䞀意のむンデックス (UNIQUE PRIMARY KEY たたは参照制玄をサポヌトするために䜿甚するこずができるもの ) を䜜成し 分割したす CREATE UNIQUE INDEX XEMP ON PERSNL.EMPLOYEE (LAST_NAME, EMPNUM) LOCATION $data1 ATTRIBUTE NO AUDITCOMPRESS PARTITION (ADD FIRST KEY 'E' LOCATION $data1, ADD FIRST KEY 'J' LOCATION $data2, ADD FIRST KEY 'O' LOCATION $data2, ADD FIRST KEY 'T' LOCATION $data3); この䟋では POS_FOR_INDEX を䜿甚しおテヌブル persnl.employee 䞊に 2 ぀のパヌティションを持぀むンデックスを䜜成する方法を瀺したす 以䞋の CQD を蚭定したす control query default POS_NUM_OF_PARTNS '2'; control query default POS_FOR_INDEX 'ON'; テヌブル persnl.employee にむンデックスを䜜成したす create index persnl.employee_idx2 on persnl.employee_pos(b); 16

スキヌマの同時䜜成 同じカタログ内で CREATE SCHEMA コマンドを同時に䜿甚するず システムメタデヌタテヌブルのロックの競合によりタむムアりトするこずがありたす CREATE SCHEMA の䟋 この䟋では スキヌマを䜜成したす CREATE SCHEMA mycat.myschema; この䟋では サブボリュヌム ZSDABCDE 䞊に配眮された pubs.jsmith がオヌナヌであるスキヌマを䜜成したす CREATE SCHEMA sch2 AUTHORIZATION pubs.jsmith LOCATION ZSDABCDE; この䟋では サブボリュヌム ZSDSCHEM 䞊に配眮されたスキヌマを䜜成したす CREATE SCHEMA myschema LOCATION ZSDSCHEM; この䟋では サブボリュヌム ZSDSCHE2 がすでに別のスキヌマで䜿甚されおいるずきに そのサブボリュヌム䞊に配眮されたスキヌマを意図的に䜜成したす CREATE SCHEMA myschema LOCATION ZSDSCHE2 REPEAT USE ALLOWED; 17

CREATE TRIGGER 文 CREATE TRIGGER に関する留意事項 (2-146) CREATE TRIGGER の䟋 (2-150) CREATE TRIGGER 文は SQL/MX テヌブルに察するトリガヌを䜜成するために䜿甚されたす トリガヌは 指定されたむベントに応答しお デヌタベヌスシステムに自動的に特定のアクションを実行させるメカニズムです CREATE TRIGGER trigger-name {BEFORE AFTER} {INSERT DELETE UPDATE [OF (columns)]} ON table-name [REFERENCING old-new-alias-list ] [FOR EACH {ROW STATEMENT}] [WHEN (search-condition)] triggered-sql-statement; columns is: column-name, columns column-name old-new-alias-list is: old-new-alias, old-new-alias-list old-new-alias old-new-alias is: OLD [AS] correlation-name NEW [AS] correlation-name OLD [AS] table-alias NEW [AS] table-alias triggered-sql-statement is: searched-update-statement searched-delete-statement call-statement insert-statement signal-statement set-new-statement signal-statement is: SIGNAL SQLSTATE quoted-sqlstate (quoted-string-expr); CREATE TRIGGER の構文の説明 trigger-name 远加されるトリガヌの ANSI 論理名を次の圢匏で指定したす [[catalog-name.]schema-name.]trigger-name ここで 名前の各郚分は最倧 128 文字の有効な SQL 識別子です 詳现は 識別子 (6-56) を参照しおください column-name トリガヌがアクティブ化されたずきに挿入 削陀 たたは曎新する列の ANSI 論理名を次の圢匏で指定したす [[catalog-name.]schema-name.]column-name ここで 名前の各郚分は最倧 128 文字の有効な SQL 識別子です table-name 18

このトリガヌが定矩されおいるテヌブルの ANSI 論理名を次の圢匏で指定したす [[catalog-name.]schema-name.]column-name ここで 名前の各郚分は最倧 128 文字の有効な SQL 識別子です トリガヌは SQL/MX テヌブルでのみ定矩できたす FOR EACH { ROW STATEMENT } このトリガヌが行たたは文のどちらに基づいおいるかを指定したす この句を指定しない堎合 デフォルトは BEFORE トリガヌの堎合は ROW AFTER トリガヌの堎合は STATEMENT です old-new-alias トリガヌによっお䜿甚される盞関名たたはテヌブル゚むリアスのリストです correlation-name トリガヌによっお操䜜される叀い行たたは新しい行の名前です table-alias トリガヌによっお操䜜される叀いテヌブルたたは新しいテヌブルの名前です search-condition true の堎合に このトリガヌをアクティブ化する条件です SQL/MX リリヌス 3.2 から AFTER トリガヌは search-condition 内でサブク゚リをサポヌトしおいたす 結合ず GROUP BY を含む単玔なサブク゚リがサポヌトされたす triggered-sql-statement このトリガヌがアクティブ化されたずきに実行される SQL 文です searched-update-statement AFTER トリガヌがアクティブ化されたずきに実行される曎新文です SQL/MX リリヌス 3.4 から AFTER トリガヌは searched-update-statement 内でシヌケンスゞェネレヌタヌをサポヌトしおいたす この文でシヌケンスゞェネレヌタヌを䜿甚するには スキヌマのバヌゞョンが 3400 以䞊である必芁がありたす searched-delete-statement AFTER トリガヌがアクティブ化されたずきに実行される削陀文です call-statement AFTER トリガヌがアクティブ化されたずきに実行される CALL 文です このサポヌトは SQL/MX リリヌス 3.2 から䜿甚できたす insert-statement AFTER トリガヌがアクティブ化されたずきに実行される挿入文です SQL/MX リリヌス 3.4 から AFTER トリガヌは insert-statement 内でシヌケンスゞェネレヌタヌをサポヌトしおいたす この文でシヌケンスゞェネレヌタヌを䜿甚するには スキヌマのバヌゞョンが 3400 以䞊である必芁がありたす signal-statement 19

SIGNAL 文に送信される文です set-new-statement トリガヌアクションによっお倉曎される察象テヌブル内の列を衚す遷移倉数に倀を割り圓おるために BEFORE トリガヌアクションずしお䜿甚できる割り圓お文です SQL/MX リリヌス 3.4 から BEFORE トリガヌは set-newstatement 内でシヌケンスゞェネレヌタヌをサポヌトしおいたす この文でシヌケンスゞェネレヌタヌを䜿甚するには スキヌマのバヌゞョンが 3400 以䞊である必芁がありたす quoted-sqlstate SIGNAL に枡される 5 桁の SQLSTATE です quoted-string-expr (messagetext) および quoted-sqlstate を取埗するには GET DIAGNOSTICS コマンドを䜿甚したす quoted-string-expr 文字列匏です 20

暩限ず䜿甚の芁件 トリガヌを䜜成するには 以䞋の項目のオヌナヌである必芁がありたす トリガヌが定矩されたスキヌマ 察象テヌブルが配眮されたスキヌマ 察象テヌブル そうでない堎合は Super ID である必芁がありたす セキュリティに関する留意事項 トリガヌを䜜成するには 参照するオブゞェクトに察する暩限を持っおいる必芁がありたす たずえば 参照テヌブルに挿入するトリガヌを䜜成するには そのテヌブルに察する INSERT 暩限が必芁です シヌケンスゞェネレヌタヌ甚にサポヌトされおいる暩限は USAGE 暩限のみです それゆえ トリガヌから参照されるすべおのシヌケンスゞェネレヌタヌオブゞェクトに察する USAGE 暩限を保持する必芁がありたす 詳现は GIVE Object に関する留意事項 および REVOKE に関する留意事項 (2-314) を参照しおください 21

シヌケンスゞェネレヌタヌずトリガヌ SQL/MX リリヌス 3.4 から トリガヌは triggered-sql-statement 内にシヌケンスゞェネレヌタヌを持おたす シヌケンスゞェネレヌタヌは BEFORE および AFTER トリガヌの䞡方 および ROW および STATEMENT トリガヌの䞡方に぀いお定矩できたす ROW トリガヌに぀いおは シヌケンスゞェネレヌタヌは BEFORE トリガヌの setnew-statement 内でのみ䜿甚でき AFTER トリガヌの insert-statement および searched-update-statement 内でのみ䜿甚できたす STATEMENT トリガヌに぀いお シヌケンスゞェネレヌタヌは AFTER トリガヌの insert-statement および searched-update-statement 内でのみ䜿甚できたす シヌケンスゞェネレヌタヌはトリガヌの WHEN 句および REFERENCING 句内ではサポヌトされたせん BEFORE および AFTER トリガヌ内のシヌケンスゞェネレヌタヌに぀いお CURRVAL がサポヌトされたす 次の䟋は AFTER トリガヌでの CURRVAL の䜿甚を瀺したす CREATE TRIGGER ATRIG AFTER INSERT ON BT2 REFERENCING NEW AS NEWTAB FOR EACH STATEMENT WHEN (NEWROW.ID < 2) UPDATE AT3 SET C = SEQ.CURRVAL; シヌケンスゞェネレヌタヌは triggered-sql-statement の曎新での SET 句内でサポヌトされたす 次の䟋は シヌケンスゞェネレヌタヌの曎新文での SET 句の䜿甚を瀺したす CREATE TRIGGER A_TRIG2 AFTER INSERT ON AT2 REFERENCING NEW AS NEWTAB FOR EACH STATEMENT WHEN ((SELECT COUNT (*) FROM AT3 WHERE NEWTAB.JJ = 2)>1) UPDATE AT2 SET C = SEQ.NEXTVAL; シヌケンスゞェネレヌタヌは triggered-sql-statement の曎新および削陀での WHERE 句内ではサポヌトされたせん 22

CREATE VIEW に関する留意事項 SQL/MP テヌブルたたは SQL/MP ゚むリアスを参照する SQL/MX ビュヌを䜜成するこずはできたせん CREATE VIEW 文でオプティマむザヌのヒントを指定できたせん 23

DELETE 文 DELETE に関する留意事項 (2-165) MXCI での DELETE の䟋 (2-168) C での DELETE の䟋 (2-171) COBOL の DELETE の䟋 (2-171) パブリッシュ / サブスクラむブでの DELETE の䟋 (2-172) DELETE 文は テヌブルたたは曎新可胜なビュヌから行を削陀する DML 文です ビュヌから行を削陀するず ビュヌが基にしおいるテヌブルから行が削陀されたす DELETE は テヌブルたたはビュヌの最埌の行が削陀されおも テヌブルたたはビュヌを削陀したせん SQL/MX リリヌス 3.2 以降では 自己参照削陀がサポヌトされたす このサポヌトにより タヌゲットテヌブルから削陀する行をサブク゚リで遞択できたす DELETE 文の 3 ぀の圢匏を次に瀺したす 怜玢による DELETE 行を削陀したす ( 行の遞択は怜玢条件によっお異なりたす ) 䜍眮指定による DELETE カヌ゜ルの䜍眮によっお刀別される 1 ぀の行を削陀したす MULTI COMMIT DELETE (MCD) 䞀連の小さい個別のトランザクションで倚数のレコヌドを削陀したす 怜玢による DELETE の圢匏で WHERE 句がない堎合は テヌブルたたはビュヌからすべおの行が削陀されたす 䜍眮指定による DELETE の圢匏は 埋め蟌み SQL プログラムでのみ䜿甚したす 怜玢による圢匏は MXCI たたは埋め蟌み SQL プログラムで䜿甚したす 怜玢による DELETE を次に瀺したす [ ROWSET FOR INPUT SIZE rowset-size-in ] DELETE [multi-commit-option] FROM table STREAM (table ) [AFTER LAST ROW] [SET ON ROLLBACK set-roll-clause [,set-roll-clause]...] [WHERE search-condition rowset-search-condition ] [[FOR] access-option ACCESS] [WITH control-query-default control-list][statement-level-hint-list] set-roll-clause is: column-name = expression access-option is: READ COMMITTED SERIALIZABLE REPEATABLE READ SKIP CONFLICT control-query-default is: 24

CONTROL QUERY DEFAULT control-list is: attribute 'attr-value' attribute 'attr-value' [, control-list]... statement-level-hint-list is: USING <<+ hint-list >> hint-list is: hint [, hint-list] hint is: statement-hint table-hint statement-hint is: join-type-hint table-hint is: access-path-hint cardinality-hint selectivity-hint join-type-hint is: USE_HASHJOIN (table-1 [,table-2]) NO_HASHJOIN (table-1 [,table-2]) USE_MERGEJOIN (table-1 [,table-2]) NO_MERGEJOIN (table-1 [,table-2]) USE_NESTEDJOIN (table-1 [,table-2]) NO_NESTEDJOIN (table-1 [,table-2]) access-path-hint is: BASETABLE table NO_BASETABLE table INDEX table( index-list ) NO_INDEX table( index-list ) INDEXJOIN table( index-list ) NO_INDEXJOIN table( index-list ) index-list is: index [, index]... cardinality-hint is: CARDINALITY table( cardinality-value ) selectivity-hint is: SELECTIVITY table( selectivity-value ) 䜍眮指定による DELETE を次に瀺したす DELETE FROM table WHERE CURRENT OF {cursor-name ext-cursor-name} MULTI COMMIT DELETE を次に瀺したす multi-commit-option is: WITH MULTI COMMIT [ granularity ] granularity is: EVERY num ROWS ROWSET FOR INPUT SIZE rowset-size-in WHERE 句に rowset-search-condition を指定した堎合にのみ蚱可されたす rowset-size-in は入力行セットのサむズを指定したサむズに制限したす 25

table 行セットに割り圓おられおいるサむズず rowset-size-in が異なる堎合 NonStop SQL/MX は 2 ぀のサむズの小さい方を䜿甚し 倧きい行セットの残りの゚ントリヌを無芖したす rowset-size-in は C の unsigned short signed short unsigned long たたは signed long タむプの正数リテラル および COBOL の察応する同等な正数リテラル ( 真数リテラル 動的パラメヌタヌ たたはホスト倉数 ) である必芁がありたす rowset-size-in を指定しない堎合 NonStop SQL/MX は埋め蟌み SQL プログラムの SQL Declare Section に指定された割り圓お枈みの行セットのサむズを䜿甚したす 行を削陀するナヌザヌテヌブルたたはビュヌを指定したす table は実テヌブルたたは曎新可胜なビュヌである必芁がありたす テヌブルたたはビュヌを参照するには 次の名前タむプのいずれかを䜿甚したす Guardian 物理名 ANSI 論理名 DEFINE 名 デヌタベヌスオブゞェクト名 (6-13) を参照しおください テヌブルたたは実テヌブルのファむル線成は キヌシヌケンスである必芁がありたす DELETE を䜿甚しお SQL/MP の入力順テヌブルから行を削陀するこずはできたせん STREAM (table) 指定したテヌブルから連続したデヌタストリヌムを削陀したす SELECT 文のテヌブル参照ずしお埋め蟌たれおいない堎合 DELETE 文に STREAM アクセスを指定できたせん SELECT 文 を参照しおください [AFTER LAST ROW] テヌブル内の既存のすべおの行をストリヌムがスキップするようにしお ストリヌムのカヌ゜ルが開かれおから公開された行のみを削陀したす SET ON ROLLBACK set-roll-clause [,set-roll-clause ]... DELETE 文の実行によっお それに含たれおいるトランザクションがロヌルバックされた堎合 1 ぀以䞊の列が曎新されたす set-roll-clause 指定した列に特定の倀を蚭定したす 各 set-roll-clause に぀いお 指定したタヌゲットの column-name の倀が 曎新゜ヌスの expression の倀に眮き換えられたす タヌゲットの各列のデヌタタむプが ゜ヌス倀のデヌタタむプず互換性がある必芁がありたす column-name 曎新する table の列を指定したす 列名を修食したり 繰り返したりするこずはできたせん プラむマリキヌの䞀郚である列の倀を曎新するこずはできたせん 26

expression 列の倀を指定する SQL 倀の匏です expression には 列に定矩した集玄関数を含めるこずはできたせん expression のデヌタタむプは column-name のデヌタタむプず互換性がある必芁がありたす expression 内のスカラヌサブク゚リは 曎新されおいるテヌブルを参照できたせん expression が曎新される列を参照しおいる堎合 NonStop SQL/MX は元の倀を䜿甚しお匏を評䟡し 新しい倀を刀別したす 匏 (6-41) を参照しおください WHERE search-condition 削陀する行を遞択する怜玢条件を指定したす 怜玢条件内で比范される列は 削陀されるテヌブルたたはビュヌの列です 怜玢条件 (6-108) を参照しおください 怜玢条件を指定しない堎合は テヌブルたたはビュヌのすべおの行が削陀されたす PURGEDATA ナヌティリティを䜿甚するこずによっお テヌブルたたはテヌブルのパヌティションからすべおの行を削陀するこずもできたす WHERE rowset-search-condition 削陀する行を遞択する怜玢条件の配列を指定したす 怜玢条件は順番に適甚され 各条件によっお遞択された行は 次の怜玢条件が適甚される前に削陀されたす 行セット怜玢条件 (6-110) を参照しおください [FOR] access-option ACCESS 怜玢条件の評䟡に䜿甚されるデヌタに必芁なアクセスオプションを指定したす デヌタ䞀貫性ずアクセスオプション (1-8) を参照しおください READ COMMITTED 怜玢条件の評䟡に䜿甚されるデヌタが コミット枈みの行である必芁があるこずを指定したす SERIALIZABLE REPEATABLE READ DELETE 文および䞊行プロセス ( 同じデヌタにアクセスする ) が䞊行ではなく連続的に実行されおいるかのように実行するこずを指定したす SKIP CONFLICT 別のトランザクションによっお競合モヌドでロックされおいる行をトランザクションがスキップするようにしたす 察象ずなる行は DELETE 文の怜玢条件を評䟡した結果の行です SKIP CONFLICT は SET TRANSACTION 文では䜿甚できたせん デフォルトのアクセスオプションは 含たれおいるトランザクションの分離レベルであり 分離レベル (10-55) に指定されたルヌルに埓っお決定されたす [WITH control-query-default control-list] Control-query-default は DML 文甚のむンラむン CQD コマンドを指定したす CQD コマンドは CONTROL QUERY DEFAULT です Control-list は 属性名ずその倀を含みたす 27

attribute SQL/MX 属性名を衚す文字列で SYSTEM_DEFAULTS テヌブルの ATTRIBUTE 列に察応したす attr-value SQL/MX 属性倀を指定する文字列で SYSTEM_DEFAULTS テヌブルの ATTR_VALUE 列に察応したす [ statement-level-hint-list ] hint-list テヌブルのリストず文のヒントです statement-hint { join-type-hint } です join-type-hint 2 ぀の行゜ヌスを結合するずきに䜿甚する各皮の結合タむプの実装を匷制たたは排陀するヒントです 次のうちのいずれかです { USE_HASHJOIN NO_HASHJOIN USE_MERGEJOIN NO_MERGEJOIN USE_NESTEDJOIN NO_NESTEDJOIN } USE_HASHJOIN (table-1 [, table-2]) オプティマむザヌに察し 行゜ヌス間の結合に ハッシュ結合を䜿甚するように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずハッシュ結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるか より倧きな結合バックボヌンずハッシュ結合されたす このずき 2 ぀のテヌブルのうち 1 ぀が内郚テヌブルに その他が倖郚テヌブルずなりたす 行゜ヌスがハッシュ結合を䜿甚しお結合できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす NO_HASHJOIN (table-1 [, table-2]) オプティマむザヌに察し 行゜ヌス間の結合に ハッシュ結合を䜿甚しないように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずハッシュ結合されたせん 別の行゜ヌスずは ネステッド結合たたはマヌゞ結合で結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるこずはなく より倧きな結合バックボヌンずハッシュ結合されるこずもありたせん ただし これらは ネステッド結合たたはマヌゞ結合で盞互に結合される可胜性がありたす 行゜ヌス間のハッシュ結合を排陀できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす USE_MERGEJOIN (table-1 [, table-2]) オプティマむザヌに察し 2 ぀の行゜ヌス間の結合に マヌゞ結合を䜿甚するように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずマヌゞ結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるか より倧きな結合バックボヌンずマヌゞ結合されたす このずき 2 ぀のテヌブルのうち 1 28

぀が内郚テヌブルに その他が倖郚テヌブルずなりたす 行゜ヌスがマヌゞ結合を䜿甚しお結合できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす NO_MERGEJOIN (table-1 [, table-2]) オプティマむザヌに察し 行゜ヌス間の結合に マヌゞ結合を䜿甚しないように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずマヌゞ結合されたせん 別の行゜ヌスずは ネステッド結合たたはハッシュ結合で結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるこずはなく より倧きな結合バックボヌンずマヌゞ結合されるこずもありたせん ただし これらは ネステッド結合たたはハッシュ結合で盞互に結合される可胜性がありたす 行゜ヌス間のマヌゞ結合を排陀できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす USE_NESTEDJOIN (table-1 [, table-2]) オプティマむザヌに察し 2 ぀の行゜ヌス間の結合に ネステッド結合を䜿甚するように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルを内郚テヌブルずしお 別の行゜ヌスずネステッド結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるか より倧きな結合バックボヌンずネステッド結合されたす このずき 2 ぀のテヌブルのうち 1 ぀が内郚テヌブルに その他が倖郚テヌブルずなりたす 行゜ヌスがネステッド結合を䜿甚しお結合できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす NO_NESTEDJOIN (table-1 [, table-2]) オプティマむザヌに察し 行゜ヌス間の結合に ネステッド結合を䜿甚しないように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずネステッド結合されたせん 別の行゜ヌスずは ハッシュ結合たたはマヌゞ結合で結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるこずはなく より倧きな結合バックボヌンずネステッド結合されるこずもありたせん ただし これらは ハッシュ結合たたはマヌゞ結合で盞互に結合される可胜性がありたす 行゜ヌス間のネステッド結合を排陀できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす table-1, table-2 次のうちの 1 ぀ : ヒントが指定された SQL 文で参照する MX たたは MP テヌブルの 郚分修食名 完党修食名 たたは盞関名 MP ゚むリアス名も可胜です table-hint 次のいずれかの倀をずりたす { access-path-hint cardinality-hint selectivity-hint } access-path-hint SQL 文䞭のテヌブル参照甚パスぞのアクセスを匷制たたは排陀するヒントです 次のいずれかの倀をずりたす { BASETABLE table NO_BASETABLE table INDEX table (index-list) NO_INDEX table (index-list) INDEXJOIN table (index-list) NO_INDEXJOIN table (index-list) 29

} BASETABLE SQL 文䞭の関連テヌブル参照に実テヌブルのアクセスパスを匷制したす 実テヌブルのアクセスパスを匷制できない堎合 オプティマむザヌはヒントを無芖し 譊告を発行したす NO_BASETABLE SQL 文䞭の関連テヌブル参照に実テヌブルのアクセスパスを䜿甚しないようにしたす 実テヌブルのアクセスパスを排陀できない堎合 オプティマむザヌはヒントを無芖し 譊告を発行したす INDEX table(index-list) SQL 文䞭の関連テヌブル参照に 指定されたむンデックスを䜿甚したむンデックスアクセスパスを匷制したす 指定されたむンデックスを䜿甚したむンデックスアクセスパスが䜿甚できない堎合 オプティマむザヌは譊告を発行し テヌブルぞの最適なアクセスパスを遞択したす NO_INDEX table(index-list) SQL 文䞭の関連テヌブル参照にむンデックスアクセスパスを䜿甚しないようにしたす むンデックスアクセスパスを排陀できない堎合 オプティマむザヌは譊告を発行し テヌブルぞの最適なアクセスパスを遞択したす NO_INDEX ヒントにむンデックスのリストが指定されおいる堎合 指定されたすべおのむンデックスのむンデックスアクセスパスが排陀されたす INDEXJOIN table(index-list) SQL 文䞭の関連テヌブル参照に 指定されたむンデックスを䜿甚したむンデックス結合アクセスパスを匷制したす むンデックス結合アクセスパスを䜿甚できない堎合 オプティマむザヌは譊告を発行し テヌブルぞの最適なアクセスパスを遞択したす INDEXJOIN ヒントにむンデックスのリストが指定されおいる堎合 それらのうち最適なむンデックス結合アクセスパスが遞択されたす NO_INDEXJOIN table(index-list) SQL 文䞭の関連テヌブル参照に 指定されたむンデックスを䜿甚したむンデックス結合アクセスパスを䜿甚しないようにしたす 指定されたむンデックスを䜿甚したむンデックス結合アクセスパスが排陀できない堎合 オプティマむザヌは譊告を発行し テヌブルぞの最適なアクセスパスを遞択したす NO_INDEXJOIN ヒントにむンデックスのリストが指定されおいる堎合 指定されたすべおのむンデックスのむンデックス結合アクセスパスが排陀されたす Table 次のうちの 1 ぀ : ヒントが指定された SQL 文で参照する MX たたは MP テヌブルの 郚分修食名 完党修食名 たたは盞関名 MP ゚むリアス名も可胜です index-list ナヌザヌ䜜成たたはシステム䜜成のむンデックスのリストです 存圚しないむンデ 30

ックス デヌタがないむンデックス たたはテヌブル参照に関連しないむンデックスが指定された堎合 オプティマむザヌは譊告を発行したす cardinality-hint オプティマむザヌに 関連するテヌブル参照のコスト蚈算で 指定した行のカヌディナリティを䜿甚するよう指瀺したす cardinality-value 1~922337203685477580 の敎数倀です この範囲倖の倀や 小数が指定された堎合 オプティマむザヌは cardinality-hint を無芖し 譊告を発行したす selectivity-hint オプティマむザヌに 関連するテヌブル参照のコスト蚈算で 指定した遞択性を䜿甚するよう指瀺したす selectivity-value 0.0~1.0 の実数倀です 0.0 より小さい倀や 1.0 より倧きい倀が指定された堎合 オプティマむザヌは selectivity-hint を無芖し 譊告を発行したす オプティマむザヌのヒントに぀いおの詳现は SQL/MX 3.4 Query Guide を参照しおください } WHERE CURRENT OF {cursor-name ext-cursor-name 削陀する行に䜍眮指定されたカヌ゜ル ( たたは拡匵カヌ゜ル ) の名前を指定したす オヌディット察象テヌブルたたはビュヌに cursor-name を指定する堎合は 行の FETCH も含むトランザクション内で DELETE を実行する必芁がありたす カヌ゜ル名ず拡匵カヌ゜ル名に぀いおの詳现は DECLARE CURSOR 宣蚀 (3-22) および ALLOCATE CURSOR 文 (3-3) を参照しおください 埋め蟌み SQL プログラムでの怜玢による DELETE 文および䜍眮指定による DELETE 文に぀いお詳しくは SQL/MX Programming Manual for C and COBOL を参照しおください EVERY num ROWS MULTI COMMIT DELETE 操䜜の個別の各トランザクションで削陀される行数を指定したす num はれロより倧きい unsigned integer である必芁がありたす num のデフォルト倀は 500 です 31

DOWNGRADE ナヌティリティ DOWNGRADE に関する留意事項 DOWNGRADE の䟋 (2-177) DOWNGRADE は MXCI から実行できる構文ベヌスのナヌティリティです DOWNGRADE は メタデヌタを既存のバヌゞョンから指定した䜎いバヌゞョンに倉換したす REPORTONLY オプションを䜿甚するず 操䜜を実際に実行せずに 操䜜が実行可胜かどうかをテストできたす SQL/MX リリヌス 3.2 以降では DOWNGRADE ナヌティリティは名前付きカタログ および ( 必芁に応じお ) 指定したカタログに関連するすべおのカタログのすべおのメタデヌタをダりングレヌドできたす DOWNGRADE ALL METADATA TO VERSION version [ output-spec ] DOWNGRADE ALL METADATA IN CATALOG catalog TO VERSION version [ RESTRICT CASCADE ] [ output-spec ] output-spec is: [ log-to-spec ] [ REPORTONLY ] log-to-spec is: { [ LOG TO ] OUTFILE oss-file [ CLEAR ] LOG TO HOMETERM } catalog version RESTRICT CASCADE oss-file メタデヌタをダりングレヌドするカタログの ANSI 名を指定したす catalog にデフォルトはありたせん コマンドのタヌゲットバヌゞョンを指定する有効な SQL/MX バヌゞョン番号です version はコマンドの圱響を受けるすべおのスキヌマの実際のスキヌマバヌゞョンより䜎い必芁がありたす 名前付きカタログのメタデヌタのみにダりングレヌドを制限したす 指定したカタログに盎接 間接に関連する党カタログにダりングレヌドを拡匵したす デフォルトは RESTRICT です OSS ファむル名 泚蚘 : DOWNGRADE ナヌティリティは J06.11 以降の J シリヌズ RVU および H06.22 以降の H シリヌズ RVU を実行しおいるシステムでのみ䜿甚できたす 32

DOWNGRADE に関する留意事項 平行性 TMF ぞの圱響 分散環境 DOWNGRADE ナヌティリティは倧量のメタデヌタを倉換したす アプリケヌションが実行䞭に DOWNGRADE ナヌティリティを実行するこずはお勧めできたせん DOWNGRADE ナヌティリティは 圱響を受けるすべおのカタログで新芏の定矩スキヌマを䜜成したす 回埩可胜性を確保するために アプリケヌションが起動される前に これらの新芏定矩スキヌマの新しい TMF オンラむンダンプを取埗する必芁がありたす 分散環境で DOWNGRADE コマンドを䜿甚するには 関係するシステムが SQL/MX の同じリリヌスを実行しおいる必芁がありたす 33

DROP SEQUENCE の構文の説明 sequence シヌケンスゞェネレヌタヌの ANSI 名を指定したす RESTRICT を指定し 指定した倖郚シヌケンスゞェネレヌタヌがトリガヌから参照される堎合 ゚ラヌが報告されたす CASCADE を指定し シヌケンスゞェネレヌタヌが 1 ぀以䞊のトリガヌから参照される堎合 シヌケンスゞェネレヌタヌずすべおの参照するトリガヌが削陀されたす デフォルトは RESTRICT です 34

GIVE Object に関する留意事項 GIVE TABLE 操䜜は 関連するむンデックス トリガヌ䞀時テヌブル 制玄の所有暩を倉曎したす AA GIVE VIEW 操䜜では基瀎ずなるテヌブルの所有暩は倉曎されたせん GIVE TRIGGER 操䜜は セキュリティ管理者に制限されおいたす セキュリティ管理者は トリガヌをテヌブルのオヌナヌにのみ䞎えるこずができたす その他のナヌザヌには䞎えられたせん GIVE TABLE はトリガヌの所有暩を移行したすが タヌゲットのオヌナヌはこれらのトリガヌを䜜成する暩限を持っおいる必芁がありたす オブゞェクトのオブゞェクト機胜バヌゞョン (OFV) は この操䜜の完了埌にスキヌマのオヌナヌずオブゞェクトのオヌナヌが異なる堎合は 3100 に増加したす ただし 操䜜の完了埌もスキヌマオヌナヌずオブゞェクトオヌナヌが同じ堎合 OFV は再蚈算されお蚭定されたす 35

INSERT 文 INSERT に関する留意事項 (2-253) MXCI での INSERT の䟋 (2-258) C での INSERT の䟋 (2-263) COBOL での INSERT の䟋 (2-263) INSERT 文は テヌブルたたはビュヌに行を挿入する DML 文です [ ROWSET FOR INPUT SIZE rowset-size-in ] INSERT INTO table [(target-col-list)] insert-source WITH control-query-default control-list [ statement-level-hint-list ] target-col-list is: colname [,colname]... insert-source is: query-expr [order-by-clause] DEFAULT VALUES query-expr is: non-join-query-expr joined-table non-join-query-expr is: non-join-query-primary query-expr UNION [ALL] query-term query-term is: non-join-query-primary joined-table non-join-query-primary is: simple-table (non-join-query-expr) joined-table is: table-ref [NATURAL] [join-type] JOIN table-ref [join-spec] table-ref CROSS JOIN table-reftable-ref is: table [[AS] corr [(col-expr-list)]] view [[AS] corr [(col-expr-list)]] (query-expr) [AS] corr [(col-expr-list)] joined-table join-type is: INNER LEFT [OUTER] RIGHT [OUTER] join-spec is: ON search-condition rowset-search-condition simple-table is: VALUES (row-value-const) [,(row-value-const)]... VALUES (rowset-value-const ) TABLE table SELECT [ALL DISTINCT] select-list FROM table-ref [,table-ref]... FROM ROWSET [rowset-size ] (:array-name [,:array-name ]...) [WHERE search-condition rowset-search-condition ] [SAMPLE sampling-method] [TRANSPOSE transpose-set [transpose-set]... [KEY BY key-colname]]... [SEQUENCE BY colname [ASC[ENDING] DESC[ENDING]] [,colname [ASC[ENDING] DESC[ENDING]]]...] [GROUP BY {colname colnum} [,{colname colnum}]...] 36

[HAVING search-condition rowset-search-condition ]] [[FOR] access-option ACCESS] [IN {SHARE EXCLUSIVE} MODE] rowset-value-const is: {rowset-expr expr NULL DEFAULT} [,{rowset-expr expr NULL DEFAULT}]... access-option is: READ COMMITTED SERIALIZABLE REPEATABLE READ order-by-clause is: ORDER BY {colname colnum} [ASC[ENDING] DESC[ENDING]] [,{colname colnum} [ASC[ENDING] DESC[ENDING]]]... control-query-default is: CONTROL QUERY DEFAULT control-list is: attribute 'attr-value' attribute 'attr-value' [, control-list]... statement-level-hint-list is: USING <<+ hint-list >> hint-list is: hint [, hint-list] hint is: statement-hint table-hint statement-hint is: join-type-hint table-hint is: access-path-hint cardinality-hint selectivity-hint join-type-hint is: USE_HASHJOIN (table-1 [,table-2]) NO_HASHJOIN (table-1 [,table-2]) USE_MERGEJOIN (table-1 [,table-2]) NO_MERGEJOIN (table-1 [,table-2]) USE_NESTEDJOIN (table-1 [,table-2]) NO_NESTEDJOIN (table-1 [,table-2]) access-path-hint is: BASETABLE table NO_BASETABLE table INDEX table( index-list ) NO_INDEX table( index-list ) INDEXJOIN table( index-list ) NO_INDEXJOIN table( index-list ) index-list is: index [, index]... cardinality-hint is: CARDINALITY table( cardinality-value ) selectivity-hint is: SELECTIVITY table( selectivity-value ) 37

ROWSET FOR INPUT SIZE rowset-size-in table rowset-size-in は 入力行セットのサむズを指定されたサむズに制限したす 指定するサむズは 行セットに割り圓おられおいるサむズ以䞋である必芁がありたす rowset-size-in は C の unsigned short signed short unsigned long たたは signed long タむプの正数リテラル および COBOL の察応する同等な正数リテラル ( 真数リテラル 動的パラメヌタヌ たたはホスト倉数 ) である必芁がありたす rowset-size-in を指定しない堎合 NonStop SQL/MX は埋め蟌み SQL プログラムの SQL Declare Section に指定された割り圓お枈みの行セットのサむズを䜿甚したす 行を挿入するナヌザヌテヌブルたたはビュヌを指定したす table は実テヌブルたたは曎新可胜なビュヌである必芁がありたす テヌブルたたはビュヌを参照するには 次の名前タむプのいずれかを䜿甚したす Guardian 物理名 ANSI 論理名 DEFINE 名 デヌタベヌスオブゞェクト名 (6-13) を参照しおください (target-col-list) 倀を挿入するテヌブルたたはビュヌの列 target-col-list を指定したす タヌゲットの各列のデヌタタむプが 察応する゜ヌス倀のデヌタタむプず互換性がある必芁がありたす リスト内での各タヌゲット列の䜍眮は 関連する゜ヌス倀ず同じである必芁がありたす ゜ヌス倀の䜍眮は ク゚リ匏 (query-expr) の評䟡から導出されたテヌブルの列で決たりたす target-col-list に table の䞀郚の列しか指定されおいない堎合は リストに指定されおいない列に列のデフォルト倀が挿入されたす 列のデフォルト蚭定 (6-8) を参照しおください target-col-list を指定しない堎合は ゜ヌステヌブルの行の倀が table のすべおの列 (SYSKEY 列を陀く ) に挿入されたす ゜ヌステヌブルの列倀の順序は table に察しお CREATE TABLE で指定した列の順序ず同じである必芁がありたす ( この順序は SELECT * FROM table の結果テヌブルに䞀芧衚瀺される列の順序ず同じです ) insert-source table のすべおの列 ( オプションで指定した列 ) に挿入する倀の行 insertsource を指定したす query-expr target-col-list に指定されおいる列 ( 指定されおいる堎合 ) たたは table のすべおの列 ( デフォルト ) に挿入する倀の行で構成される゜ヌステヌブルを生成する ク゚リ匏を指定したす insert-source で返される行がない堎合 table に行は挿入されたせん query-expr が VALUES 句ではない堎合 insert-source は table たたは table に基づくビュヌも 実テヌブルたた 38

は table の基になっおいるビュヌも参照できたせん 列リストの列数 ( デフォルトでは table の列数 ) は ク゚リ匏の評䟡から導出された゜ヌステヌブル内の列数ず等しくなければなりたせん さらに 列リストの各列 ( デフォルトでは table の各列 ) のデヌタタむプは ゜ヌステヌブルの察応する列のデヌタタむプず互換性がある必芁がありたす VALUES 句内の単䞀の倀には 倀匏 NULL たたは DEFAULT を指定できたす VALUES 句内に DEFAULT を指定した堎合 挿入される倀はタヌゲット列に定矩されおいる DEFAULT 倀です たた 倀匏にオペランドずしお DEFAULT を含めるこずもできたす この堎合 挿入される倀は DEFAULT 倀で評䟡される匏です たずえば DEFAULT + 50 を行倀コンストラクタヌ内の匏に指定できたす 倀匏での DEFAULT の䜿甚は SQL/MX で拡匵された機胜です NOT NULL ず定矩されおいる列に NULL を挿入しようずしたり NO DEFAULT ず定矩されおいる列に DEFAULT を挿入しようずしたりするず NonStop SQL/MX ぱラヌを返したす 倀匏に぀いおは 匏 (6-41) を参照しおください query-expr の説明に぀いおは SELECT 文 を参照しおください rowset-value-const 行セット倀コンストラクタヌには少なくずも 1 ぀の行セット匏が必芁です 行セット倀コンストラクタヌで長さが異なる行セットたたは行セットずスカラヌが䜿甚されおいる堎合の意味に぀いおは SQL/MX Programming Manual for C and COBOL を参照しおください FROM ROWSET rowset-size 行セットから導出されたテヌブルのサむズを指定されたサむズに制限したす 指定するサむズは 行セットに割り圓おられおいるサむズ以䞋である必芁がありたす サむズを指定する堎合は 盎埌に ROWSET キヌワヌドを指定したす サむズは unsigned integer たたは倀が unsigned integer であるホスト倉数です サむズを指定しない堎合 NonStop SQL/MX は SQL Declare Section に指定された割り圓お枈みの行セットのサむズを䜿甚したす :array-name [,:array-name]... 䞀連のホスト倉数配列を指定したす 各 array-name は行セットから導出されたテヌブルの列のように䜿甚できたす 各 array-name には SQL デヌタタむプに察応するデヌタタむプの有効なホスト蚀語の識別子を指定できたす SQL 文内の各 array-name の前にコロン (:) を付けたす 行セットおよびホスト倉数配列の詳现は SQL/MX Programming Manual for C and COBOL を参照しおください ORDER BY {colname colnum [ASC[ENDING] DESC[ENDING]] [,{colname colnum} [ASC[ENDING] DESC[ENDING]]]... query-expr の評䟡から導出された゜ヌステヌブルの行の順序ず その結果ずしおの table ぞの挿入順序を決定したす タヌゲットテヌブルに行を挿入する前に 39

ク゚リ匏が評䟡されお゜ヌステヌブルが順序付けられたす キヌ順の物理線成のテヌブルに挿入する堎合 このオプションには効果がないこずに泚意しおください colname ク゚リ匏で参照され オプションでテヌブル ビュヌ たたは盞関名で修食されるテヌブルたたはビュヌの列の名前 colname ( たずえば CUSTOMER.CITY) です 列に別の名前の゚むリアスがある堎合は その゚むリアス名を䜿甚する必芁がありたす colnum ク゚リ匏の遞択リストの䜍眮 colnum で列を指定したす colnum を䜿甚しお テヌブルやビュヌ以倖の ク゚リ匏から導出されたテヌブルの列などの 名前のない列を参照したす ASC DESC ゜ヌト順を指定したす デフォルトは ASC です ヌルを含めるこずができる列で゜ヌステヌブルを䞊べ替える堎合 ヌルは 互いに等しくヌル以倖より倧きいず芋なされたす DEFAULT VALUES ク゚リ匏を VALUES (DEFAULT,...) の圢匏で指定したす 各 DEFAULT の倀は table のテヌブル蚘述子に含められおいる colname の列蚘述子に定矩されおいるデフォルト倀です 各デフォルト倀がその列に挿入されお 新しい行を圢成したす DEFAULT VALUES を指定した堎合 列リストは指定できたせん DEFAULT VALUES を䜿甚できるのは table のすべお列にデフォルト倀がある堎合のみです [FOR] access-option ACCESS SELECT 文であるク゚リ匏の評䟡から導出された゜ヌステヌブル内の アクセスされお返されるデヌタに必芁なアクセスオプションを指定したす デヌタ䞀貫性ずアクセスオプション (1-8) を参照しおください READ COMMITTED ク゚リ匏の評䟡から導出された゜ヌステヌブル内のアクセスされお返されるデヌタが コミットされた行から取埗される必芁があるこずを指定したす SERIALIZABLE REPEATABLE READ INSERT 文ず同時に実行される ( 同じデヌタにアクセスする ) プロセスがある堎合 同時にではなく連続的に実行されるかのように INSERT 文ずその他のプロセスを実行するこずを指定したす デフォルトのアクセスオプションは 含たれおいるトランザクションの分離レベルであり 分離レベル (10-55) に指定されたルヌルに埓っお決定されたす 40

IN {SHARE EXCLUSIVE} MODE SELECT 文によっお たたは SELECT 文であるク゚リ匏の評䟡から導出された FROM 句のテヌブル参照によっお指定されたデヌタにアクセスする堎合 およびむンデックス ( ある堎合 ) ぞのアクセスによっおテヌブルぞのアクセスが発生する堎合に SHARE ロックたたは EXCLUSIVE ロックを䜿甚するかどうかを指定したす attribute SQL/MX 属性名を衚す文字列で SYSTEM_DEFAULTS テヌブルの ATTRIBUTE 列に察応したす attr-value SQL/MX 属性倀を指定する文字列で SYSTEM_DEFAULTS テヌブルの ATTR_VALUE 列に察応したす 倀は 数倀であっおも匕甚文字列ずしお指定する必芁がありたす table-hint 次のいずれかの倀をずりたす { access-path-hint cardinality-hint selectivityhint } access-path-hint SQL 文䞭のテヌブル参照甚パスぞのアクセスを匷制たたは排陀するヒントです 次のいずれかの倀をずりたす { BASETABLE table NO_BASETABLE table INDEX table (index-list) NO_INDEX table (index-list) INDEXJOIN table (index-list) NO_INDEXJOIN table (index-list) } BASETABLE SQL 文䞭の関連テヌブル参照に実テヌブルのアクセスパスを匷制したす 実テヌブルのアクセスパスを匷制できない堎合 オプティマむザヌはヒントを無芖し 譊告を発行したす NO_BASETABLE SQL 文䞭の関連テヌブル参照に実テヌブルのアクセスパスを䜿甚しないようにしたす 実テヌブルのアクセスパスを排陀できない堎合 オプティマむザヌはヒントを無芖し 譊告を発行したす INDEX table(index-list) SQL 文䞭の関連テヌブル参照に 指定されたむンデックスを䜿甚したむンデックスアクセスパスを匷制したす 指定されたむンデックスを䜿甚したむンデックスアクセスパスが䜿甚できない堎合 オプティマむザヌは譊告を発行し テヌブルぞの最適なアクセスパスを遞択したす NO_INDEX table(index-list) SQL 文䞭の関連テヌブル参照にむンデックスアクセスパスを䜿甚しないようにしたす むンデックスアクセスパスを排陀できない堎合 オプティマむザヌは譊告 41

を発行し テヌブルぞの最適なアクセスパスを遞択したす NO_INDEX ヒントにむンデックスのリストが指定されおいる堎合 指定されたすべおのむンデックスのむンデックスアクセスパスが排陀されたす INDEXJOIN table(index-list) SQL 文䞭の関連テヌブル参照に 指定されたむンデックスを䜿甚したむンデックス結合アクセスパスを匷制したす むンデックス結合アクセスパスを䜿甚できない堎合 オプティマむザヌは譊告を発行し テヌブルぞの最適なアクセスパスを遞択したす INDEXJOIN ヒントにむンデックスのリストが指定されおいる堎合 それらのうち最適なむンデックス結合アクセスパスが遞択されたす NO_INDEXJOIN table(index-list) Table SQL 文䞭の関連テヌブル参照に 指定されたむンデックスを䜿甚したむンデックス結合アクセスパスを䜿甚しないようにしたす 指定されたむンデックスを䜿甚したむンデックス結合アクセスパスが排陀できない堎合 オプティマむザヌは譊告を発行し テヌブルぞの最適なアクセスパスを遞択したす NO_INDEX ヒントにむンデックスのリストが指定されおいる堎合 指定されたすべおのむンデックスのむンデックスアクセスパスが排陀されたす 次のうちの 1 ぀ : ヒントが指定された SQL 文で参照する MX たたは MP テヌブルの 郚分修食名 完党修食名 たたは盞関名 MP ゚むリアス名も可胜です index-list ナヌザヌ䜜成たたはシステム䜜成のむンデックスのリストです 存圚しないむンデックス デヌタがないむンデックス たたはテヌブル参照に関連しないむンデックスが指定された堎合 オプティマむザヌは譊告を発行したす cardinality-hint オプティマむザヌに 関連するテヌブル参照のコスト蚈算で 指定した行のカヌディナリティを䜿甚するよう指瀺したす cardinality-value 1~922337203685477580 の敎数倀です この範囲倖の倀や 小数が指定された堎合 オプティマむザヌは cardinality-hint を無芖し 譊告を発行したす selectivity-hint オプティマむザヌに 関連するテヌブル参照のコスト蚈算で 指定した遞択性を䜿甚するよう指瀺したす selectivity-value 0.0~1.0 の実数倀です 0.0 より小さい倀や 1.0 より倧きい倀が指定された堎合 オプティマむザヌは selectivity-hint を無芖し 譊告を発行したす hint-list テヌブルのリストず文のヒントです 42

statement-hint { join-type-hint } です join-type-hint 2 ぀の行゜ヌスを結合するずきに䜿甚する各皮の結合タむプの実装を匷制たたは排陀するヒントです 次のうちのいずれかです { USE_HASHJOIN NO_HASHJOIN USE_MERGEJOIN NO_MERGEJOIN USE_NESTEDJOIN NO_NESTEDJOIN } USE_HASHJOIN (table-1 [, table-2]) オプティマむザヌに察し 行゜ヌス間の結合に ハッシュ結合を䜿甚するように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずハッシュ結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるか より倧きな結合バックボヌンずハッシュ結合されたす このずき 2 ぀のテヌブルのうち 1 ぀が内郚テヌブルに その他が倖郚テヌブルずなりたす 行゜ヌスがハッシュ結合を䜿甚しお結合できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす NO_HASHJOIN (table-1 [, table-2]) オプティマむザヌに察し 行゜ヌス間の結合に ハッシュ結合を䜿甚しないように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずハッシュ結合されたせん 別の行゜ヌスずは ネステッド結合たたはマヌゞ結合で結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるこずはなく より倧きな結合バックボヌンずハッシュ結合されるこずもありたせん ただし これらは ネステッド結合たたはマヌゞ結合で盞互に結合される可胜性がありたす 行゜ヌス間のハッシュ結合を排陀できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす USE_MERGEJOIN (table-1 [, table-2]) オプティマむザヌに察し 2 ぀の行゜ヌス間の結合に マヌゞ結合を䜿甚するように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずマヌゞ結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるか より倧きな結合バックボヌンずマヌゞ結合されたす このずき 2 ぀のテヌブルのうち 1 ぀が内郚テヌブルに その他が倖郚テヌブルずなりたす 行゜ヌスがマヌゞ結合を䜿甚しお結合できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす NO_MERGEJOIN (table-1 [, table-2]) オプティマむザヌに察し 行゜ヌス間の結合に マヌゞ結合を䜿甚しないように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずマヌゞ結合されたせん 別の行゜ヌスずは ネステッド結合たたはハッシュ結合で結合されたす ヒントに 2 ぀のテヌブル参照 43

が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるこずはなく より倧きな結合バックボヌンずマヌゞ結合されるこずもありたせん ただし これらは ネステッド結合たたはハッシュ結合で盞互に結合される可胜性がありたす 行゜ヌス間のマヌゞ結合を排陀できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす USE_NESTEDJOIN (table-1 [, table-2]) オプティマむザヌに察し 2 ぀の行゜ヌス間の結合に ネステッド結合を䜿甚するように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルを内郚テヌブルずしお 別の行゜ヌスずネステッド結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるか より倧きな結合バックボヌンずネステッド結合されたす このずき 2 ぀のテヌブルのうち 1 ぀が内郚テヌブルに その他が倖郚テヌブルずなりたす 行゜ヌスがネステッド結合を䜿甚しお結合できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす NO_NESTEDJOIN (table-1 [, table-2]) オプティマむザヌに察し 行゜ヌス間の結合に ネステッド結合を䜿甚しないように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずネステッド結合されたせん 別の行゜ヌスずは ハッシュ結合たたはマヌゞ結合で結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるこずはなく より倧きな結合バックボヌンずネステッド結合されるこずもありたせん ただし これらは ハッシュ結合たたはマヌゞ結合で盞互に結合される可胜性がありたす 行゜ヌス間のネステッド結合を排陀できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす table-1, table-2 次のうちの 1 ぀ : ヒントが指定された SQL 文で参照する MX たたは MP テヌブルの 郚分修食名 完党修食名 たたは盞関名 MP ゚むリアス名も可胜です 44

ANSI 名を䜿甚したテヌブルたたはむンデックスの再ロヌド MODIFY を䜿甚しお SQL/MX のテヌブルたたはむンデックスのすべおのパヌティションに察し 単䞀のコマンドで ANSI 名を䜿甚し FUR RELOAD ず等䟡なコマンドを実行したす これにより ディスク䜿甚量ず CPU 䜿甚率を管理するための各皮の制埡オプションも提䟛されたす MODIFY の REORG 圢匏は次のずおりです MODIFY { TABLE INDEX } ansi-name REORG [ reorg-command reorg-options ] [ log-to-spec ] reorg-command is: STATUS SUSPEND ACTIVATE CANCEL reorg-options is: reorg-option [, reorg-option ]... reorg-option is: CONCURRENCY { OFF number MAX } SLACK percentage DSLACK percentage ISLACK percentage RATE percentage PRIORITY number log-to-spec is: {[LOG TO] OUTFILE oss-file [CLEAR] LOG TO HOMETERM } ansi-name テヌブルたたはむンデックスの SQL/MX ANSI 名を識別したす 通垞のカタログずスキヌマのデフォルトが適甚されたす reorg-command 泚蚘 : reorg-command が指定されない堎合 新芏に REORG 操䜜が開始されたす reorg-command は 以䞋のいずれかの圢匏です STATUS 実行䞭の REORG 操䜜のステヌタスをレポヌトしたす LOG TO オプションを指定した堎合 STATUS コマンドの出力は 指定に埓い oss-file たたはホヌムタヌミナルに曞き蟌たれたす そうでない堎合 出力はレポヌトされたせん SUSPEND すでに開始された再ロヌド操䜜を䞀時停止する ACTIVATE すでに䞀時停止された再ロヌド操䜜を再開する CANCEL すでに開始たたは䞀時停止した REORG 操䜜をキャンセルしたす 45

reorg-options 以䞋の reorg-options を 1 ぀以䞊指定できたす CONCURRENCY { OFF number MAX } 䞊列再ロヌドの䞊行性レベル以䞋の匕数のうち 1 ぀を指定できたす OFF 䞀床には 1 ぀のパヌティションを再ロヌドしたす CONCURRENCY OFF は CONCURRENCY 1 ず等䟡です デフォルト倀は OFF です number 同時に再ロヌドするパヌティションの数を指定したす 倀は 有効な正の数である必芁がありたす 指定された倀が パヌティションより倚い堎合 倀はテヌブルやむンデックスのパヌティションの数たで削枛されたす MAX すべおのパヌティションを同時に再ロヌドしたす CONCURRENCY MAX は関係するパヌティションの数ず等䟡です SLACK percentage むンデックスブロックおよびデヌタブロック甚の䞡方のスラックスペヌスのパヌセンテヌゞ DSLACK percentage デヌタブロック甚のスラックスペヌスのパヌセンテヌゞ ISLACK percentage むンデックスブロック甚のスラックスペヌスのパヌセンテヌゞ RATE percentage CPU 䜿甚量を制埡するレヌト SLACK DSLACK ISLACK および RATE に぀いおの詳现は FUP Reference Manual を参照しおください PRIORITY number number は 1~199 の倀で ORSERV プロセスの優先床を指定したす デフォルトの優先床は ORSERV プロセスを産出するプロセスである MXCMP ず同じです 泚蚘 : reorg-options は STATUS ACTIVATE および SUSPEND コマンドでは適甚されたせん log-to-spec LOG TO オプションを指定した堎合 コマンドによっお進捗状況のログが指定した oss-file たたはホヌムタヌミナルに曞き蟌たれたす CLEAR オプションを䜿甚し oss-file が既存のディスクファむルの堎合 oss-file はロギングが開始される前にクリアされたす それ以倖の堎合 出力は oss-file の既存のコンテンツの埌ろに远加されたす 46

レンゞ分割されたテヌブルずむンデックスのパヌティションの管理 SQL/MX のテヌブルずむンデックスのレンゞパヌティションを管理するには MODIFY を䜿甚したす テヌブルずむンデックスは それらの関係にかかわらず 別々に管理する必芁がありたす オフラむンずオンラむンの䞡方の操䜜がサポヌトされおいたす オンラむン操䜜の詳现ず制限に぀いおは MODIFY に関する留意事項 (2-285) を参照しおください レンゞ分割されたテヌブルずむンデックスに察する MODIFY の圢匏は次のずおりです MODIFY { TABLE INDEX } [[catalog.]schema.] object { drop add move repartition } drop is: DROP [PARTITION] WHERE partition-identification add is: ADD [PARTITION] WHERE add-move-boundary-range [TO] LOCATION new-partition [NAME new-partition-name] [partition-size] [RECLAIM [ optional-reclaim-option-list ] NO RECLAIM] [with-shared-access] move is one of: MOVE [PARTITION] [WHERE partition-identification] [TO] LOCATION new-partition [NAME new-partition-name] [partition-size] [RECLAIM [ optional-reclaim-option-list ] NO RECLAIM] [with-shared-access] MOVE [PARTITION] WHERE {add-move-boundary-range partition-identification} [TO] {PREVIOUS NEXT} PARTITION [RECLAIM [ optional-reclaim-option-list ] NO RECLAIM] [with-shared-access] repartition is: REPARTITION LIKE model-object [with-shared-access] partition-identification is: LOCATION [\node.]$volume[.subvolume.file-name] NAME partition-name [KEY=] {FIRST LAST} PARTITION [KEY=] key-value add-move-boundary-range is: [KEY=] FIRST KEY UPTO [KEY=] key-value [KEY=] key-value [THRU [KEY=] LAST KEY] key-value is: VALUE (column-value [,column-value]...) partition-size is: partition-extent-size [ MAXEXTENTS num-extents ] partition-extent-size is: EXTENT { ext-size } {(pri-ext-size, sec-ext-size) } optional-reclaim-option-list is: ( reclaim-option [, reclaim-option ] ) reclaim-option is: RATE percentage PRIORITY gpri with-shared-access is: 47

WITH SHARED ACCESS [commit-options] commit-options is: COMMIT [ WORK ] [ commit-option ] [ on-error ] commit-option is: { WHEN READY } { AFTER time } { BEFORE time } on-error is: ONCOMMITERROR { commit-options } { ROLLBACK [ WORK ] } [[catalog.]schema.]object レンゞ分割されたオブゞェクトの名前です スキヌマ名ずカタログ名を指定しない堎合 NonStop SQL/MX は MXCI セッションのデフォルトのカタログずスキヌマを䜿甚したす object は TABLE キヌワヌドか INDEX キヌワヌドかに応じお テヌブルたたはむンデックスです DROP [PARTITION] WHERE partition-identification レンゞパヌティションを削陀する芁求です 指定されたパヌティションは空である必芁がありたす partition-identification パヌティションを蚘述したす LOCATION [\node.]$volume [.subvolume.file-name ] [KEY=] {FIRST LAST} PARTITION [KEY=] key-value 移動たたは削陀察象のパヌティションの堎所 たたはパヌティショニングキヌ (FIRST KEY) 倀 key-value です パヌティションを削陀するず 最初のパヌティションが削陀される堎合を陀き そのキヌ範囲が前のパヌティションにマヌゞされたす 最初のパヌティションを削陀するず そのキヌ範囲が次のパヌティションにマヌゞされたす [\node.]$volume [\node.]$volume.subvolume.file-name パヌティションの物理的な堎所です ファむル名を指定しない堎合 指定されたデヌタ゜ヌスに察しお存圚できるのは 1 ぀のパヌティションのみです \node は ロヌカルノヌドたたはリモヌトノヌドのいずれかにできたす \node を指定しない堎合 デフォルトは =_DEFAULTS 定矩に指定された Guardian システムです ADD [PARTITION] WHERE add-move-boundary-range [TO] LOCATION new-partition [NAME new-partition-name ] [partition-size ] 既存のパヌティションのデヌタの範囲 ( 最初の郚分たたは最埌の郚分のいずれか ) を分割しおから それを新しいパヌティションに移動する芁求を指定したす デヌタは远加される範囲内に存圚できたす デヌタの範囲が既存のパヌティションの先頭から始たる堎合 操䜜は先頭郚分の分割です 範囲がパヌティションの末尟で終わる堎合 操䜜は末尟郚分の分割です 48

add-move-boundary-range 境界範囲です [KEY=] FIRST KEY UPTO [KEY=] key-value [KEY=] key-value [THRU [KEY=] LAST KEY] 分割しおから新しいパヌティションに远加するパヌティションのパヌティショニング範囲 add-move-boundary-range を指定したす FIRST KEY ( 開始キヌ倀 ) から珟圚のパヌティションのキヌ倀 key-value ( この倀は含たない ) たたは珟圚のパヌティションのキヌ倀 key-value から LAST KEY ( 終了キヌ倀 ) を指定しお既存のパヌティションの最初たたは最埌を分割するこずで 远加する新しいパヌティションのパヌティショニング範囲を指定できたす THRU [KEY=] LAST KEY はオプションです key-value を指定する堎合は 指定する列倀がパヌティションを適切に特定できるのであれば 末尟の列の倀を省略できたす column-value を省略するず MODIFY は その列に含たれおいるデヌタが昇順か降順かに応じお デフォルト倀 ( 察応するパヌティショニングキヌ列の最䜎倀か最高倀のいずれか ) を䜿甚したす [TO] LOCATION new-partition 新しいパヌティションの堎所を指定したす new-partition 新しいパヌティションのディスクボリュヌムたたは Guardian ファむルを指定したす ディスクボリュヌム構文を䜿甚する堎合 MODIFY はファむル名の末尟郚分を生成したす 新しいパヌティションは ロヌカルシステムたたはリモヌトシステムのどちらにも指定できたす new-partition-name パヌティションの SQL 識別子です MOVE [PARTITION] [WHERE partition-identification ] [TO] LOCATION new-partition [NAME new-partition-name ] [partition-size ] 既存のパヌティションを新しい堎所に移動する芁求です partition-identification は テヌブルたたはむンデックスにパヌティションが 1 ぀しかない堎合のみのオプションです MOVE [PARTITION] WHERE {partition-identification add-move-boundary-range } [TO] {PREVIOUS NEXT} PARTITION 既存のパヌティションの䞀郚たたはすべおを隣接する既存のパヌティションにマヌゞする芁求です partition-identification 句を䜿甚しおパヌティション党䜓を指定できたす partition-identification パヌティションを蚘述したす 49

LOCATION [\node.]$volume [.subvolume.file-name ] NAME partition-name [KEY=] {FIRST LAST} PARTITION [KEY=] key-value 倉曎察象のパヌティションの堎所 たたはパヌティショニングキヌ (FIRST KEY) 倀 key-value です パヌティションがプラむマリパヌティションの堎合は FIRST PARTITION 句を䜿甚しおパヌティションを指定するこずもできたす パヌティションがテヌブルのパヌティションのリストで䞀番右のパヌティションの堎合は LAST PARTITION 句を䜿甚できたす オブゞェクトの唯䞀のパヌティションの堎合は どちらかの句を䜿甚しおパヌティションを指定できたす [\node.]$volume [\node.]$volume.subvolume.file-name パヌティションの物理的な堎所です ファむル名を指定しない堎合 指定されたデヌタ゜ヌスに察しお存圚できるのは 1 ぀のパヌティションのみです \node は ロヌカルノヌドたたはリモヌトノヌドのいずれかにできたす \node を指定しない堎合 デフォルトは =_DEFAULTS 定矩に指定された Guardian システムです add-move-boundary-range 句を䜿甚するず 分割するパヌティションのデヌタの範囲 ( 最初の郚分たたは最埌の郚分のいずれか ) を指定しおから 隣接する既存のパヌティションにマヌゞできたす デヌタの範囲が既存のパヌティションの先頭から始たる堎合 操䜜は先頭郚分のマヌゞです 先頭郚分のマヌゞ操䜜で指定できるのは TO PREVIOUS PARTITION 句のみです 分割されたパヌティションをプラむマリパヌティションにするこずはできたせん デヌタの範囲がパヌティションの末尟で終わる堎合 操䜜は末尟郚分のマヌゞです 指定できるのは TO NEXT PARTITION 句のみです 分割されたパヌティションを最埌のパヌティション ( リスト内の䞀番右のパヌティション ) にするこずはできたせん partition-size 新しいパヌティションのサむズです partition-extent-size [ MAXEXTENTS num-extents ] 新しいパヌティションの゚クステントサむズです プラむマリおよびセカンダリ゚クステントのサむズず ゚クステントの最倧数を指定できたす MAXEXTENTS を指定しない堎合 MODIFY は゜ヌスパヌティションの倀を䜿甚したす partition-extent-size 新しいパヌティションの゚クステントサむズです EXTENT { ext-size } { (pri-ext-size, sec-ext-size ) } ext-size は笊号なしの敎数倀です 新しいパヌティションのプラむマリずセカンダリの䞡方の゚クステントのサむズずしお指定できたす プラむマリ゚クステントずセカンダリ゚クステントのサむズは別々に指定できたす EXTENT を指定しない堎合 MODIFY は゜ヌスパヌティションの゚クステントサむズ倀 50

を䜿甚したす EXTENT (9-6) および MAXEXTENTS (9-7) を参照しおください REPARTITION LIKE model-object テヌブルやむンデックスを完党にパヌティショニングする芁求です この機胜は スキヌマバヌゞョン 3400 以䞊のオブゞェクトで䜿甚できたす コミットフェヌズ䞭にすべおのオリゞナルパヌティションは削陀されるため パヌティショニング完了時に空き領域に再芁求や再ロヌドは䞍芁です model-object 望たしいパヌティションレむアりトを持぀モデルオブゞェクトの ANSI 名です 通垞のカタログずスキヌマ名のデフォルトが適甚されたす REPARTITION 操䜜の埌 操䜜察象だったオブゞェクトはモデルオブゞェクトのパヌティションのセットを持ちたす REPARTITION 操䜜の結果ずしお モデルオブゞェクト自身は削陀されたす RECLAIM [optional-reclaim-option-list] NO RECLAIM SQL/MX が ORSERV プロセスを自動的に起動しお 圱響を受けるパヌティションの未䜿甚の空き領域を再芁求するかどうか (RECLAIM) たたはナヌザヌが FUP RELOAD 操䜜を手動で実行するかどうか (NO RECLAIM) を指定したす 未䜿甚の空き領域が含たれおいるパヌティションには ファむルラベルに UNRECLAIMEDSPACE (F) フラグが蚭定されおいたす このフラグは空き領域が再芁求されるたで蚭定されたたたになり オブゞェクトに察しお新しい MODIFY DUP たたは BACKUP 操䜜の実行を詊みるず ゚ラヌ 20290 ( 操䜜が進行䞭 ) で倱敗したす オブゞェクトに察しお DML 操䜜を実行するこずはできたすが 他のすべおの操䜜は倱敗したす 省略した堎合 レンゞ分割されたオブゞェクトのデフォルトは RECLAIM です このオプションは MODIFY が空き領域の再芁求を必芁ずしない堎合は無芖されたす optional-reclaim-option-list (reclaim-option [,reclaim-option]) RECLAIM オプションにより オプションで reclaim-options の RATE ず PRIORITY を指定できたす これにより 再ロヌドのレヌトず優先床を制埡できたす RATE percentage 1~100 の倀 再芁求動䜜の凊理率を指定したす デフォルト倀は 100 です PRIORITY gpri 1~199 の倀 再芁求動䜜が開始される NSK 優先床を指定したす デフォルト倀は MODIFY コマンドが実行される優先床ず同じです WITH SHARED ACCESS [commit-options] 操䜜がオンラむン操䜜であるこずを指定したす commit-options を指定しない堎合 デフォルトは COMMIT WHEN READY ONCOMMITERROR ROLLBACK WORK です COMMIT [ WORK ] [ commit-option ] [ on-error ] 51

コミットフェヌズを発生させる時刻を指定したす commit-option 句は 次のオプションを指定したす WHEN AFTER AFTER コミットフェヌズを可胜な限り早い時刻に発生さ コミットフェヌズを time より埌に発生させたす コミットフェヌズを time より前に発生させたす time は匕甚笊で囲んだ日付時刻リテラルです on-error 句は コミットフェヌズが再詊行できる゚ラヌで倱敗した堎合に䜕が行われるかを指定したす 省略した堎合の結果は ONCOMMITERROR ROLLBACK WORK を指定した堎合ず同じです 時刻がすでに過ぎおいる堎合 MODIFY ぱラヌを返したす ROLLBACK [WORK] 操䜜を終了する必芁があるこずを指定したす 結果は CANCEL オプションを指定しお別の RECOVER コマンドを発行した堎合ず同じです ROLLBACK WORK は最埌の <on-error> 句にしか指定できない堎合がありたす ONCOMMITERROR commit-options コミットフェヌズ䞭に再詊行できる゚ラヌが発生した堎合に SQL/MX が取るべきアクションを指定したす 再詊行できる゚ラヌには ファむルが䜿甚䞭 ロック芁求のタむムアりト リ゜ヌスが䜿甚できない および BEFORE たたは AFTER 時間枠がない などが含たれたす 再詊行できない゚ラヌの堎合は垞に ONCOMMITERROR オプションでの指定にかかわらず SQL/MX はデヌタベヌスぞの倉曎をキャンセルし 操䜜を終了したす ONCOMMITERROR は COMMIT オプション内に出珟しお別の COMMIT オプションを指定するため 再垰的です 1 ぀の文に 3 ぀たでの COMMIT オプションを指定でき 4 ぀以䞊指定するず゚ラヌが発生したす 52

ハッシュ分割されたテヌブルずむンデックスのパヌティションの管理 SQL/MX のテヌブルずむンデックスのハッシュパヌティションを管理するには MODIFY を䜿甚したす 削陀できるのは最埌のパヌティションだけです テヌブルずむンデックスは それらの関係にかかわらず 別々に管理する必芁がありたす ハッシュ分割されたテヌブルずむンデックスに察する MODIFY の圢匏は次のずおりです MODIFY {TABLE INDEX} [[catalog.]schema.]object {drop move add repartition} drop is: DROP [PARTITION] WHERE partition-identification [RECLAIM [ optional-reclaim-option-list ] NO RECLAIM] [with-shared-access] move is: MOVE [PARTITION] [WHERE partition-identification] [TO] LOCATION new-partition [NAME new-partition-name] [partition-size] [RECLAIM [ optional-reclaim-option-list ] NO RECLAIM] with-shared-access] add is: ADD [PARTITION] [TO] LOCATION new-partition [NAME new-partition-name] [partition-size] [RECLAIM [ optional-reclaim-option-list ] NO RECLAIM] [with-shared-access] repartition is: REPARTITION LIKE model-object [with-shared-access] partition-identification is: LOCATION [\node.]$volume[.subvolume.file-name] NAME partition-name {FIRST LAST} PARTITION [KEY=] VALUE(partition-number) new-partition is: [\node.]$volume[.subvolume.file-name] partition-size is: partition-extent-size [ MAXEXTENTS num-extents ] partition-extent-size is: EXTENT { ext-size } {(pri-ext-size, sec-ext-size) } optional-reclaim-option-list is: ( reclaim-option [, reclaim-option ] ) reclaim-option is:rate percentage PRIORITY gpri <with-shared-access> is: WITH SHARED ACCESS [commit-options] commit-options is: COMMIT [ WORK ] [ commit-option ] [ on-error ] commit-option is: { WHEN READY } { AFTER time } { BEFORE time } on-error is: ONCOMMITERROR { commit-options } 53

{ ROLLBACK [ WORK ] } [[catalog.]schema.]object オブゞェクトの名前です スキヌマ名ずカタログ名を指定しない堎合 MODIFY は MXCI セッションの珟圚のデフォルトのスキヌマずカタログを䜿甚したす object は TABLE キヌワヌドか INDEX キヌワヌドかに応じお テヌブルたたはむンデックスです DROP [PARTITION] WHERE partition-identification ハッシュパヌティションを削陀したす 指定するパヌティションは最埌のパヌティション ( パヌティション配列の䞀番右のパヌティション ) である必芁がありたす partition-identification パヌティションを蚘述したす LOCATION [\node.]$volume [.subvolume.file-name ] NAME partition-name [KEY=] {FIRST LAST} PARTITION [KEY=] VALUE(partition-number ) 削陀するパヌティションの堎所 たたはパヌティションのパヌティショニングキヌ (FIRST KEY) 倀 (key-value) です LOCATION 句を䜿甚する堎合は テヌブルたたはむンデックスの最埌のパヌティションを特定する必芁がありたす partition-number を䜿甚する堎合は 0 から n-1 (n はパヌティションの数 ) の範囲の笊号なし敎数で指定する必芁がありたす VALUE(0) は最初のパヌティションで VALUE(1) は最初のパヌティションに隣接するパヌティションずいうように続きたす VALUE(n-1) は最埌のパヌティションを衚したす ハッシュパヌティションを削陀するず そのパヌティションのデヌタは残りのパヌティションに再分配されたす [\node.]$volume [\node.]$volume.subvolume.file-name パヌティションの物理的な堎所です ファむル名を指定しない堎合 指定されたデヌタ゜ヌスに察しお存圚できるのは 1 ぀のパヌティションのみです \node は ロヌカルノヌドたたはリモヌトノヌドのいずれかにできたす \node を指定しない堎合 デフォルトは =_DEFAULTS 定矩に指定された Guardian システムです MOVE [PARTITION] [WHERE partition-identification ] [TO] LOCATION new-partition [NAME new-partition-name ] [partition-size ] 既存のハッシュパヌティションを新しい堎所に移動したす オプションの partition-size 句を䜿甚しお 新しいパヌティションのサむズを定矩できたす それ以倖の堎合は プラむマリパヌティションの倀が適甚されたす partition-identification は オブゞェクトのパヌティションが 1 ぀だけの堎合のみのオプションです 54

partition-identification パヌティションを蚘述したす LOCATION [\node.]$volume [.subvolume.file-name ] NAME partition-name [KEY=] {FIRST LAST} PARTITION [KEY=] VALUE(partition-number ) 移動するパヌティションの堎所 たたはパヌティションのパヌティショニングキヌ (FIRST KEY) 倀 (key-value) です partition-number を䜿甚する堎合は 0 から n-1 (n はパヌティションの数 ) の範囲内で指定する必芁がありたす VALUE(0) は最初のパヌティションで VALUE(1) は最初のパヌティションに隣接するパヌティションずいうように続きたす VALUE(n-1) は最埌のパヌティションを衚したす [\node.]$volume [\node.]$volume.subvolume.file-name パヌティションの物理的な堎所です ファむル名を指定しない堎合 指定されたデヌタ゜ヌスに察しお存圚できるのは 1 ぀のパヌティションのみです \node は ロヌカルノヌドたたはリモヌトノヌドのいずれかにできたす \node を指定しない堎合 デフォルトは =_DEFAULTS 定矩に指定された Guardian システムです [TO] LOCATION new-partition 新しいパヌティションの堎所を指定したす new-partition 新しいパヌティションのディスクボリュヌムたたは Guardian ファむルです ディスクボリュヌム構文を䜿甚する堎合 MODIFY はファむル名の末尟郚分を生成したす 新しいパヌティションは ロヌカルシステムたたはリモヌトシステムのどちらにも指定できたす new-partition-name 新しいパヌティションの SQL 識別子です partition-size 新しいパヌティションのサむズです partition-extent-size [ MAXEXTENTS num-extents ] 新しいパヌティションのサむズです プラむマリおよびセカンダリ゚クステントのサむズず ゚クステントの最倧数を指定できたす MAXEXTENTS を指定しない堎合 MODIFY はすべおのパヌティションをチェックし ゜ヌスパヌティションの倀を䜿甚したす partition-extent-size 新しいパヌティションの゚クステントサむズです EXTENT { ext-size } { (pri-ext-size, sec-ext-size ) } ext-size は笊号なしの敎数倀です 新しいパヌティションのプラむマリずセカ 55

ンダリの䞡方の゚クステントのサむズずしお指定できたす プラむマリ゚クステントずセカンダリ゚クステントのサむズは別々に指定できたす EXTENT を指定しない堎合 MODIFY は゜ヌスパヌティションの゚クステントサむズ倀を䜿甚したす EXTENT (9-6) および MAXEXTENTS (9-7) を参照しおください ADD [PARTITION] [TO] LOCATION new-partition [partition-size ] テヌブルたたはむンデックスにハッシュパヌティションを远加したす [TO] LOCATION new-partition 新しいパヌティションの堎所を指定したす new-partition 新しいパヌティションのディスクボリュヌムたたは Guardian ファむルです ディスクボリュヌム構文を䜿甚する堎合 MODIFY はファむル名の末尟郚分を生成したす 新しいパヌティションは ロヌカルシステムたたはリモヌトシステムのどちらにも指定できたす 新しいパヌティションはテヌブルたたはむンデックスの最埌のパヌティションになりたす new-partition-name 新しいパヌティションの SQL 識別子です partition-size 新しいパヌティションのサむズです partition-extent-size [ MAXEXTENTS num-extents ] 新しいパヌティションのサむズです プラむマリおよびセカンダリ゚クステントのサむズず ゚クステントの最倧数を指定できたす MAXEXTENTS を指定しない堎合 MODIFY は プラむマリ セカンダリ および最倧゚クステントの倀の組み合わせを䜿甚しお 可胜な最も倧きい最倧゚クステントサむズを䜿甚したす partition-extent-size 新しいパヌティションの゚クステントサむズです EXTENT { ext-size } { (pri-ext-size, sec-ext-size ) } ext-size は笊号なしの敎数倀です 新しいパヌティションのプラむマリずセカンダリの䞡方の゚クステントのサむズずしお指定できたす プラむマリ゚クステントずセカンダリ゚クステントのサむズは別々に指定できたす EXTENT を指定しない堎合 MODIFY は プラむマリ セカンダリ および最倧゚クステントの倀の組み合わせを䜿甚しお 可胜な最も倧きい゚クステントサむズを䜿甚したす EXTENT (9-6) および MAXEXTENTS (9-7) を参照しおください ハッシュパヌティションを远加するず 既存のパヌティションのデヌタのサブセットが新しいパヌティションに再分配されたす 56

REPARTITION LIKE model-object テヌブルやむンデックスを完党にパヌティショニングする芁求です この機胜は スキヌマバヌゞョン 3400 以䞊のオブゞェクトで䜿甚できたす コミットフェヌズ䞭にすべおのオリゞナルパヌティションは削陀されるため パヌティショニング完了時に空き領域に再芁求や再ロヌドは䞍芁です model-object 望たしいパヌティションレむアりトを持぀モデルオブゞェクトの ANSI 名です 通垞のカタログずスキヌマ名のデフォルトが適甚されたす REPARTITION 操䜜の埌 操䜜察象だったオブゞェクトはモデルオブゞェクトのパヌティションのセットを持ちたす REPARTITION 操䜜の結果ずしお モデルオブゞェクト自身は削陀されたす RECLAIM [optional-reclaim-option-list] NO RECLAIM SQL/MX が ORSERV プロセスを自動的に起動しお 圱響を受けるパヌティションの未䜿甚の空き領域を再芁求するかどうか (RECLAIM) たたはナヌザヌが FUP RELOAD 操䜜を手動で実行するかどうか (NO RECLAIM) を指定したす 未䜿甚の空き領域が含たれおいるパヌティションには ファむルラベルに UNRECLAIMEDSPACE (F) フラグが蚭定されおいたす このフラグは空き領域が再芁求されるたで蚭定されたたたになり オブゞェクトに察しお新しい MODIFY DUP たたは BACKUP 操䜜の実行を詊みるず ゚ラヌ 20290 ( 操䜜が進行䞭 ) で倱敗したす オブゞェクトに察しお DML 操䜜を実行するこずはできたすが 他のすべおの操䜜は倱敗したす 省略した堎合 レンゞ分割されたオブゞェクトのデフォルトは RECLAIM です このオプションは MODIFY が空き領域の再芁求を必芁ずしない堎合は無芖されたす optional-reclaim-option-list (reclaim-option [, reclaim-option]) RECLAIM オプションにより オプションで reclaim-options の RATE ず PRIORITY を指定できたす これにより 再ロヌドのレヌトず優先床を制埡できたす RATE percentage 1~100 の倀 再芁求動䜜の凊理率を指定したす デフォルト倀は 100 です PRIORITY gpri 1~199 の倀 再芁求動䜜が開始される NSK 優先床を指定したす デフォルト倀は MODIFY コマンドが実行される優先床ず同じです WITH SHARED ACCESS [commit-options] 操䜜がオンラむン操䜜であるこずを指定したす commit-options を省略した堎合の結果は COMMIT WHEN READY TIMEOUT DEFAULT ONCOMMITERROR ROLLBACK WORK を指定した堎合ず同じです COMMIT [ WORK ] [ commit-option ] [ on-error ] コミットフェヌズを発生させる時刻を指定したす commit-option 句は 次 57

のオプションを指定したす WHEN READY は コミットフェヌズを可胜な限り早い時刻に発生させるこずを指定したす AFTER time は コミットフェヌズを指定された time より埌に発生させるこずを指定したす BEFORE time は コミットフェヌズを指定された time より前に発生させるこずを指定したす on-error 句は コミットフェヌズが再詊行できる゚ラヌで倱敗した堎合に䜕が行われるかを指定したす 省略した堎合の結果は TIMEOUT DEFAULT ONCOMMITERROR ROLLBACK WORK を指定した堎合ず同じです time は日付時刻倀です time の䟋 :'2005-02-16 14:00:00' ROLLBACK [WORK] 操䜜を終了する必芁があるこずを指定したす 結果は CANCEL オプションを指定しお別の RECOVER コマンドを発行した堎合ず同じです ROLLBACK WORK は最埌の on-error 句にしか指定できたせん ONCOMMITERROR commit-options コミットフェヌズ䞭に再詊行できる゚ラヌが発生した堎合に SQL/MX が取るべきアクションを指定したす 再詊行できる゚ラヌには ファむルが䜿甚䞭 ロック芁求のタむムアりト リ゜ヌスが䜿甚できない および BEFORE/AFTER 時間枠がない などが含たれたす 再詊行できない゚ラヌの堎合は垞に ONCOMMITERROR オプションでの指定にかかわらず SQL/MX はデヌタベヌスぞの倉曎をキャンセルし 操䜜を終了したす ONCOMMITERROR は COMMIT オプション内に出珟しお別の COMMIT オプションを指定するため 再垰的です 1 ぀の文に 3 ぀たでの COMMIT オプションを指定でき 4 ぀以䞊指定するず゚ラヌが発生したす 58

オンラむンのパヌティション管理 MODIFY は レンゞ分割たたはハッシュ分割されたテヌブルやむンデックスに察する以䞋の操䜜に぀いお オンラむンのパヌティション管理をサポヌトしたす 操䜜䞭でも 察象のテヌブルやむンデックスに察するアプリケヌションの読み取り 曞き蟌みが可胜です 远加 ( レンゞ分割およびハッシュ分割 ) 新芏のパヌティションを远加し 1 ぀以䞊の既存のパヌティションから条件を満たす行を新しいパヌティションぞ移動したす 移動 ( レンゞ分割およびハッシュ分割 ) パヌティション党䜓を新しい堎所に移動したす 削陀 ( ハッシュ分割のみ ) 削陀するパヌティションの行を 残るパヌティションに再分配しおから パヌティションを削陀したす 最埌のパヌティションのみを削陀できたす 境界の移動 ( レンゞ分割のみ ) 隣接するパヌティション間の first-key( 開始キヌ ) の境界を移動したす 操䜜の䞀郚ずしお条件を満たす行が移動されたす マヌゞ ( レンゞ分割のみ ) パヌティション党䜓を隣のパヌティションにマヌゞしたす 操䜜の䞀郚ずしお条件を満たす行が移動されたす 再分割 ( レンゞ分割およびハッシュ分割 ) テヌブルやむンデックス甚のパヌティションセット党䜓を モデルオブゞェクト を䜿甚しお述べたパヌティションセットに眮き換えたす 操䜜の䞀郚ずしお すべおの行が移動されたす 操䜜の結果ずしおモデルオブゞェクトは削陀されたす オンラむン MODIFY は ハッシュ分割およびレンゞ分割䞡方のテヌブルやむンデックスに察するすべおのタむプのパヌティショニングキヌ ( フルクラスタリングキヌ クラスタリングキヌのプレフィックス 切り離されたキヌ ) をサポヌトしたす オフラむンのパヌティション管理 MODIFY は レンゞ分割たたはハッシュ分割されたテヌブルやむンデックスに察する以䞋の操䜜に぀いお オフラむンのパヌティション管理をサポヌトしたす 操䜜䞭でも 察象のテヌブルやむンデックスに察するアプリケヌションの読み取りが可胜ですが 曞き蟌みはできたせん 远加 ( レンゞ分割およびハッシュ分割 ) 新芏のパヌティションを远加し 1 ぀以䞊の既存のパヌティションから条件を満たす行を新しいパヌティションぞ移動したす 移動 ( レンゞ分割およびハッシュ分割 ) パヌティション党䜓を新しい堎所に移動したす 削陀 ( ハッシュ分割のみ ) 削陀するパヌティションの行を 残るパヌティションに再分配しおから パヌティションを削陀したす 最埌のパヌティションのみを削陀できたす 削陀 ( レンゞ分割のみ ) - レンゞ分割されたテヌブルやむンデックスから 空のパヌティションを削陀したす 境界の移動 ( レンゞ分割のみ ) 隣接するパヌティション間の first-key( 開始キヌ ) の境界を移動したす 操䜜の䞀郚ずしお条件を満たす行が移動されたす マヌゞ ( レンゞ分割のみ ) パヌティション党䜓を隣のパヌティションにマヌゞしたす 操䜜の䞀郚ずしお条件を満たす行が移動されたす 再分割 ( レンゞ分割およびハッシュ分割 ) テヌブルやむンデックス甚のパヌティションセット党䜓を モデルオブゞェクト を䜿甚しお述べたパヌティションセットに眮き換えたす 操䜜の䞀郚ずしお すべおの行が移動されたす 操䜜の結果ずしおモデルオブゞェクトは削陀されたす 59

オフラむン MODIFY は ハッシュ分割およびレンゞ分割䞡方のテヌブルやむンデックスに察するすべおのタむプのパヌティショニングキヌ ( フルクラスタリングキヌ クラスタリングキヌのプレフィックス 切り離されたキヌ ) をサポヌトしたす さらに オフラむン MODIFY は 以䞋の操䜜をサポヌトしたす システムによっおクラスタヌ化されたテヌブルの新しい堎所ぞの移動 シヌケンスゞェネレヌタヌの新しい堎所ぞの移動 再分割操䜜のモデルオブゞェクトに察する制限 MODIFY ナヌティリティの REPARTITION 句では モデルテヌブルオブゞェクトたたはモデルむンデックスオブゞェクトを䜿甚しおタヌゲットオブゞェクトの望たしいパヌティションレむアりトを指定するこずで テヌブルやむンデックスの再分割ができたす MODIFY...REPARTITION の詳现は SQL/MX 3.4 Management Guide を参照しおください 以䞋の䞀般的な制玄がモデルオブゞェクトに適甚されたす タヌゲットオブゞェクトず同じカタログずスキヌマである必芁がありたす タヌゲットオブゞェクトそのものであっおはなりたせん パヌティショニング列のセットは タヌゲットオブゞェクトのパヌティショニング列のセットず同じでなくおはなりたせん パヌティショニングスキヌマ ( レンゞ分割たたはハッシュ分割 ) は タヌゲットオブゞェクトのパヌティショニングスキヌマず同じでなくおはなりたせん 物理ブロックサむズは タヌゲットオブゞェクトの物理ブロックサむズず同じでなければなりたせん 列の数は タヌゲットオブゞェクトの列の数ず同じでなければなりたせん 60

MODIFY の䟋 既存のレンゞパヌティションのすべおのレコヌドを新しい堎所に移動したす MODIFY TABLE tab1 MOVE PARTITION WHERE LOCATION $data02 TO LOCATION $data03; キヌが 10000 から最埌のキヌたでに等しい既存のレンゞパヌティションのレコヌドを新しい堎所に移動したす MODIFY TABLE tab1 MOVE PARTITION WHERE KEY = VALUE (10000) THRU KEY = LAST KEY TO LOCATION $data02 EXTENT (512, 512) MAXEXTENTS 256; TO LOCATION $data03 EXTENT (1024, 1024) MAXEXTENTS 256; ハッシュ分割されたテヌブルの 2 番目のパヌティションを新しい堎所に移動したす MODIFY TABLE tab1 MOVE PARTITION WHERE KEY = VALUE (2) TO LOCATION $DATA02; ハッシュ分割されたテヌブルを $data02 から $data03 に移動したす MODIFY TABLE tab1 MOVE PARTITION WHERE LOCATION $data02 TO LOCATION $data03 EXTENT (1024, 1024) MAXEXTENTS 256; テヌブルをオンラむン操䜜で移動したす MODIFY TABLE MODT408A05 ADD PARTITION WHERE KEY= first key upto key= value (30000) TO LOCATION $data04 WITH SHARED ACCESS COMMIT BEFORE '2007-04-05 16:25:40' ONCOMMITERROR COMMIT WORK AFTER '2007-04-05 25:19:00'; 次の䟋は テヌブルの 1 ぀の Guardian の堎所の単玔な名前倉曎を瀺しおいたす テヌブル T1 が $DATA01.ZSDABCDE.SPARTN00 ずいう堎所を持っおいるずしたす MODIFY TABLE CAT.SCH.T1 RENAME WHERE LOCATION $DATA01.ZSDABCDE.SPARTN00 TO TPARTN00; 堎所 SPARTN00 が TPARTN00 にリネヌムされたす ボリュヌムずサブボリュヌムはリネヌムされたせん 次の䟋は テヌブルの指定された堎所のセットの名前倉曎を瀺しおいたす MODIFY TABLE CAT.SCH.T2 RENAME LOCATION ( $DATA01.ZSDABCDE.ABCDEF00 TO FEDCBA00, $DATA02.ZSDABCDE.GHIJKL00 TO LKJIHG00 ); キヌワヌド WHERE はオプションです 次の䟋は パタヌンが䞀臎するすべおのテヌブルの堎所の名前倉曎を瀺しおいたす テヌブル T1 が $DATA01.ZSDABCDE.SPARTX00 および $DATA02.ZSDABCDE.SPARTY00 ずいう堎所を持っおいるずしたす MODIFY TABLE CAT.SCH.T1 RENAME WHERE LOCATION $*.ZSDABCDE.S* MAP NAMES TO T???????; どちらの堎所もパタヌンに䞀臎するため 名前が倉曎されたす 結果の堎所の䞀番巊には文字 "T" が含たれ 残りの䜍眮の文字は元の堎所ず同じものになりたす そのため 堎所の名前は $DATA01.ZSDABCDE.TPARTX00 および $DATA02.ZSDABCDE.TPARTY00 に倉曎されたす むンデックスの指定された堎所のセットの名前を倉曎したす MODIFY INDEX CAT.SCH.IDX2 61

RENAME LOCATION ( $DATA01.ZSDABCDE.ABCDEF00 TO FEDCBA00, $DATA02.ZSDABCDE.GHIJKL00 TO LKJIHG00 ); むンデックスのファむル名のパタヌンに䞀臎するすべおの堎所の名前を倉曎したす MODIFY INDEX CAT.SCH.MYIX RENAME WHERE LOCATION $DATA*.ZSDXYZZY.S* TO T?????00; この䟋のマッピング指定 T?????00 は ゜ヌスファむル名の文字に関係なく タヌゲットファむル名の最初の文字が "T" である必芁があるこずを瀺しおいたす 埌続の 5 文字は゜ヌスファむル名の察応する䜍眮からコピヌされ 最埌の 2 文字は 00 になりたす 次の䟋は シヌケンスゞェネレヌタヌのパヌティションを移動しおいたす MODIFY SEQUENCE seq1 MOVE PARTITION TO LOCATION $data02; 次の䟋は シヌケンスゞェネレヌタヌの Guardian の堎所の名前を倉曎しおいたす MODIFY SEQUENCE seq1 RENAME WHERE LOCATION $DATA06.ZSDGQJL7.GGLP9700 to NEWLOC00; 次の䟋は パタヌンを䜿甚しおシヌケンスゞェネレヌタヌの Guardian の堎所の名前を倉曎しおいたす MODIFY SEQUENCE seq1 RENAME WHERE LOCATION $*.*.*MAP NAMES TO NW????00; むンデックスの 1 ぀の Guardian の堎所の名前を倉曎したす MODIFY INDEX CAT.SCH.IDX1 RENAME WHERE LOCATION $DATA01.ZSDABCDE.SPARTN00 TO TPARTN00; キヌワヌド WHERE はオプションであるこずに泚意しおください テヌブルを再ロヌドしたす MODIFY TABLE t1 REORG; テヌブル t1 を CONCURRENCY 2 ず RATE 40 で再ロヌドしたす MODIFY TABLE t1 REORG CONCURRENCY 2, RATE 40; テヌブル t1 を再ロヌドし 進捗レポヌトを oss ファむルに蚘録したす MODIFY TABLE t1 REORG LOG TO OUTFILE /home/usr/reorg.log; モデルオブゞェクトのレむアりトを䜿甚しおテヌブルを再分割したす CREATE TABLE TARGET_OBJ (...) LOCATION $DATA01.ZSDABCDE.HIJKLM00 PARTITION BY (COL2) ( ADD FIRST KEY (1000) LOCATION $DATA02.ZSDABCDE.OPQRST00, ADD FIRST KEY (2000) LOCATION $DATA03.ZSDABCDE.UVWXYZ00 ) 察応するモデルパヌティションレむアりトを以䞋のように仮定したす CREATE TABLE MODEL_OBJ (...) LOCATION $DATA01.ZSDABCDE.ABCDEF00 PARTITION BY (COL2) ( ADD FIRST KEY (1500) LOCATION $DATA02.ZSDABCDE.GHIJKL00, ADD FIRST KEY (3000) LOCATION $DATA03.ZSDABCDE.MNOPQR00, ADD FIRST KEY (5000) LOCATION $DATA04.ZSDABCDE.STUVWX00 ) 62

次のコマンドを実行するず MODIFY TABLE TARGET_OBJ REPARTITION LIKE MODEL_OBJ; タヌゲットパヌティションのレむアりトは次のようになりたす CREATE TABLE TARGET_OBJ (...) LOCATION $DATA01.ZSDABCDE.ABCDEF00 PARTITION BY (COL2) ( ADD FIRST KEY (1500) LOCATION $DATA02.ZSDABCDE.GHIJKL00, ADD FIRST KEY (3000) LOCATION $DATA03.ZSDABCDE.MNOPQR00, ADD FIRST KEY (5000) LOCATION $DATA04.ZSDABCDE.STUVWX00 ) 63

PURGEDATA ナヌティリティ PURGEDATA に関する留意事項 (2-304) PURGEDATA の䟋 (2-305) PURGEDATA は MXCI を䜿甚しお実行できる構文ベヌスのナヌティリティです PURGEDATA ナヌティリティは SQL/MX テヌブルずそれに関連するむンデックスから たたはむンデックスのないテヌブルの指定されたパヌティションから すべおのデヌタを削陀したす PURGEDATA は 察象のテヌブルに察する排他的アクセス暩が必芁です PURGEDATA table-name [list-of-partitions] [IGNORE_TRIGGER] table-name is: [ [catalog.]schema.]name list-of-partitions is: [PARTITION] WHERE partition-map partition-map is: {guardian-name first-key } guardian-name is: LOCATION [\node].$volume[.subvolume.file] first-key is: {[KEY=] partition-id [KEY=] partition-id UPTO [KEY=] partition-id [KEY=] partition-id THRU [KEY=] partition-id } partition-id is: {{FIRST LAST} PARTITION key-value } key-value is: VALUE (column-value [, column-value]...) 64

RECOVER ナヌティリティ RECOVER に関する留意事項 (2-305) RECOVER の䟋 (2-307) RECOVER は MXCI を䜿甚しお実行できる構文ベヌスのナヌティリティです RECOVER ナヌティリティは倱敗したナヌティリティ操䜜の状態を刀断しお そのリカバリ手順を実行したす RECOVER は 操䜜党䜓をロヌルバックするか 操䜜を完了させるこずで 倱敗したナヌティリティ操䜜を完了させたす RECOVER は ほずんどの堎合 操䜜が開始される前ず同じ状態にするこずでナヌティリティ操䜜をロヌルバックしたす RECOVER [INCOMPLETE SQLDDL OPERATION ON] object [ddl-lock ] [opt ] object is: { TABLE INDEX } object-name object-name is: [[catalog.]schema.]name ddl-lock is: WITH DDL_LOCKS ddl-lockname ddl-lockname is: catalog.schema.name opt is: { CANCEL [ RECLAIM optional-reclaim-option-list ] RESUME } optional-reclaim-option-list is: ( reclaim-option [, reclaim-option ] ) reclaim-option is: RATE percentage PRIORITY gpri 65

シヌケンスゞェネレヌタヌに関する留意事項 REVOKE SEQUENCE を RESTRICT および CASCADE オプションず共に䜿甚する堎合 以䞋の留意事項がありたす シヌケンスゞェネレヌタヌがどのトリガヌからも参照されおいない堎合 RESTRICT および CASCADE オプションは問題になりたせん USAGE は シヌケンスゞェネレヌタヌでサポヌトされる唯䞀の暩限です シヌケンスゞェネレヌタヌが 1 ぀以䞊のトリガヌから参照されおいお 少なくずも 1 ぀のトリガヌのオヌナヌが REVOKE SEQUENCE...RESTRICT の結果ずしおすべおの USAGE 暩限を倱った堎合 REVOKE 操䜜ぱラヌずなり 拒吊されたす シヌケンスゞェネレヌタヌが 1 ぀以䞊のトリガヌから参照されおいお すべおのトリガヌのオヌナヌが REVOKE SEQUENCE...RESTRICT の埌でも USAGE 暩限を保持しおいる堎合 REVOKE 操䜜は 正垞に USAGE 暩限を取り消したす トリガヌは削陀されたせん シヌケンスゞェネレヌタヌが 1 ぀以䞊のトリガヌから参照されおいお 少なくずも 1 ぀のトリガヌのオヌナヌが REVOKE SEQUENCE...CASCADE の結果ずしおすべおの USAGE 暩限を倱った堎合 REVOKE 操䜜はシヌケンスゞェネレヌタヌから暩限を取り消し オヌナヌがすでに USAGE 暩限を保持しおいないトリガヌのうち参照しおいるトリガヌを削陀したす オヌナヌがただ USAGE 暩限を保持しおいるトリガヌは REVOKE 操䜜埌も削陀されたせん 66

SELECT 文 SELECT に関する留意事項 (2-339) 遞択リストに関する留意事項 (2-343) SEQUENCE BY に関する留意事項 (2-343) GROUP BY に関する留意事項 (2-344) ORDER BY に関する留意事項 (2-344) UNION に関する留意事項 (2-344) MXCI での SELECT の䟋 (2-348) C での SELECT の䟋 (2-353) COBOL での SELECT の䟋 (2-354) パブリッシュ / サブスクラむブでの SELECT の䟋 (2-354) むンラむン CQD での SELECT の䟋 SELECT 文は テヌブル ビュヌ ク゚リ衚珟の評䟡によっお刀別される導出されたテヌブル たたは結合されたテヌブルから倀を取埗する DML 文です SELECT INTO 文は ク゚リ衚珟の評䟡によっお刀別されるテヌブル ビュヌ 結合されたテヌブル たたは導出されたテヌブルから単䞀行の倀を取埗するために䜿甚したす 取埗した行の倀をホスト倉数に割り圓おたす INTO バヌゞョンの SELECT は 埋め蟌み SQL プログラムでのみ䜿甚したす [ROWSET FOR size-and-index ] size-and-index is : INPUT SIZE rowset-size-in OUTPUT SIZE rowset-size-out KEY BY row-id INPUT SIZE rowset-size-in, OUTPUT SIZE rowset-size-out INPUT SIZE rowset-size-in, KEY BY row-id OUTPUT SIZE rowset-size-out, KEY BY row-id INPUT SIZE rowset-size-in, OUTPUT SIZE rowset-size-out, KEY BY row-id SELECT [[ANY N ] [FIRST N ]] [ALL DISTINCT] select-list INTO variable-spec [,variable-spec]... FROM table-ref [,table-ref]... [WHERE search-condition rowset-search-condition ] [SAMPLE sampling-method] [TRANSPOSE transpose-set [transpose-set]... [KEY BY key-colname]]... [SEQUENCE BY colname [ASC[ENDING] DESC[ENDING]] [,colname [ASC[ENDING] DESC[ENDING]]]...] [GROUP BY {colname colnum} [,{colname colnum}]...] [HAVING search-condition rowset-search-condition ] [ORDER BY {colname colnum} [ASC[ENDING] DESC[ENDING]] [,{colname colnum} [ASC[ENDING] DESC[ENDING]]]...] [[FOR] access-option ACCESS] [IN {SHARE EXCLUSIVE} MODE] [UNION [ALL] select-stmt] WITH control-query-default control-list [ statement-level-hint-list ]; select-list is: 67

* select-sublist [,select-sublist]... select-sublist is: corr.* [corr.]single-col [[AS]name] [col-expr [[AS]name] table-ref is: table [[AS] corr [<<+ table-hint-list >>] [(col-expr-list)]] STREAM (table) [[AS] corr [(col-expr-list)]] [AFTER LAST ROW] view [[AS] corr [(col-expr-list)]] STREAM (view) [[AS] corr [(col-expr-list)]] [AFTER LAST ROW] (query-expr) [AS] corr [(col-expr-list)] (delete-statement [RETURN select-list]) [AS] corr [(col-expr-list)] (update-statement [RETURN select-list]) [AS] corr [(col-expr-list)] joined-table table-hint-list is: table-hint [, table-hint-list] table-hint is: access-path-hint cardinality-hint selectivity-hint access-path-hint is: BASETABLE table NO_BASETABLE table INDEX table( index-list ) NO_INDEX table( index-list ) INDEXJOIN table( index-list ) NO_INDEXJOIN table( index-list ) index-list is: index [, index]... cardinality-hint is: CARDINALITY table( cardinality-value ) selectivity-hint is: SELECTIVITY table( selectivity-value ) access-option is: READ UNCOMMITTED READ COMMITTED SERIALIZABLE REPEATABLE READ SKIP CONFLICT STABLE query-expr is: non-join-query-expr joined-table non-join-query-expr is: non-join-query-primary query-expr UNION [ALL] query-term query-term is: non-join-query-primary joined-table non-join-query-primary is: simple-table (non-join-query-expr) joined-table is: table-ref [NATURAL] [join-type] JOIN table-ref [join-spec] 68

table-ref CROSS JOIN table-ref join-type is: INNER LEFT [OUTER] RIGHT [OUTER] join-spec is: ON search-condition rowset-search-condition simple-table is: VALUES (row-value-const) [,(row-value-const)]... TABLE table SELECT [ALL DISTINCT] select-list FROM table-ref [,table-ref]... FROM ROWSET [rowset-size] (:array-name [,:array-name]...) [WHERE search-condition rowset-search-condition ] [SAMPLE sampling-method] [TRANSPOSE transpose-set [transpose-set]... [KEY BY key-colname]]... [SEQUENCE BY colname [ASC[ENDING] DESC[ENDING]] [,colname [ASC[ENDING] DESC[ENDING]]]...] [GROUP BY {colname colnum} [,{colname colnum}]...] [HAVING search-condition rowset-search-condition ]] [[FOR] access-option ACCESS] [IN {SHARE EXCLUSIVE} MODE] row-value-const is: row-subquery {expression NULL} [,{expression NULL}]... sampling-method is: RANDOM percent-size FIRST rows-size [SORT BY colname [ASC[ENDING] DESC[ENDING]] [,colname [ASC[ENDING] DESC[ENDING]]]...] PERIODIC rows-size EVERY number-rows ROWS [SORT BY colname [ASC[ENDING] DESC[ENDING]] [,colname [ASC[ENDING] DESC[ENDING]]]...] percent-size is: percent-result PERCENT [ROWS {CLUSTERS OF number-blocks BLOCKS}] BALANCE WHEN condition THEN percent-result PERCENT [ROWS] [WHEN condition THEN percent-result PERCENT [ROWS]]... [ELSE percent-result PERCENT [ROWS]] END rows-size is: number-rows ROWS BALANCE WHEN condition THEN number-rows ROWS [WHEN condition THEN number-rows ROWS]... [ELSE number-rows ROWS] END transpose-set is: transpose-item-list AS transpose-col-list transpose-item-list is: expression-list (expression-list)[,(expression-list)]... expression-list is: expression [,expression]... transpose-col-list is: colname (colname-list) colname-list is: colname [,colname].. control-query-default is: CONTROL QUERY DEFAULT control-list is: 69

attribute 'attr-value' attribute 'attr-value' [, control-list]... statement-level-hint-list is: USING <<+ hint-list >> hint-list is: hint [, hint-list] hint is: statement-hint table-hint statement-hint is: join-type-hint join-type-hint is: USE_HASHJOIN (table-1 [,table-2]) NO_HASHJOIN (table-1 [,table-2]) USE_MERGEJOIN (table-1 [,table-2]) NO_MERGEJOIN (table-1 [,table-2]) USE_NESTEDJOIN (table-1 [,table-2]) NO_NESTEDJOIN (table-1 [,table-2]) ROWSET FOR size-and-index SELECT 文で行セットを䜿甚する堎合にのみ蚱可されたす INPUT SIZE rowset-size-in および KEY BY row-id は where 句に rowset-search-condition を指定した堎合にのみ蚱可されたす OUTPUT SIZE rowset-size-out は variable-spec が行セットタむプのホスト倉数で構成されおいる SELECT INTO 文でのみ蚱可されたす INPUT SIZE rowset-size-in 入力行セットのサむズを指定されたサむズに制限したす 指定するサむズは 行セットに割り圓おられおいるサむズ以䞋である必芁がありたす サむズは タむプが C の unsigned short signed short unsigned long たたは signed long である敎数リテラル ( 真数リテラル ) 動的パラメヌタヌ たたはホスト倉数 および COBOL の察応する同等な敎数リテラル 動的パラメヌタヌ たたはホスト倉数です サむズを指定しない堎合 NonStop SQL/MX は埋め蟌み SQL プログラムの SQL Declare Section に指定された割り圓お枈みの行セットのサむズを䜿甚したす OUTPUT SIZE rowset-size-out 出力行セットのサむズを指定されたサむズに制限したす 指定するサむズは 行セットに割り圓おられおいるサむズ以䞋である必芁がありたす サむズは タむプが C の signed long である敎数リテラル ( 真数リテラル ) たたはホスト倉数 および COBOL の察応する同等な敎数リテラルたたはホスト倉数です サむズを指定しない堎合 NonStop SQL/MX は埋め蟌み SQL プログラムの SQL Declare Section に指定された割り圓お枈みの行セットのサむズを䜿甚したす このオプションはカヌ゜ル宣蚀ではサポヌトされたせん OUTPUT SIZE は SELECT...INTO 文でのみサポヌトされたす KEY BY row-id れロから始たるむンデックスです これは 結果セットに行を含める原因ず 70

なった WHERE 句の特定の search-condition に SELECT 文たたは FETCH 文の結果セットの各行を関連付けたす たずえば 結果セットの特定の行の row-id 倀が 0 ( れロ ) の堎合 この行は WHERE 句のホスト倉数配列の最初の芁玠 (C の配列むンデックス 0 COBOL の配列むンデックス 1) の search-condition ず䞀臎したす 行セットの詳现に぀いおは SQL/MX Programming Manual for C and COBOL を参照しおください [ANY N ] [FIRST N ] 最初の N 行 (ANY) たたは゜ヌトされた行の FIRST N 行のどちらを遞択するかを指定したす ANY N たたは FIRST N は角カッコで囲む必芁がありたす [FIRST N] は SELECT 文の結果テヌブルを゜ヌトするために 遞択リストのいずれかの列に ORDER BY を䜿甚した堎合にのみ [ANY N] ず異なりたす N はスケヌルのない笊号なしの数倀リテラルです N がテヌブル内の行数より倧きい堎合は すべおの行が返されたす [ANY N] および [FIRST N] は ネストした SELECT 文および UNION 操䜜の䞡偎で蚱可されたす ALL DISTINCT select-list に指定されおいる列のすべおの行を取埗する (ALL) か 重耇しおいる行を陀いた行のみを取埗する (DISTINCT) かを指定したす ヌルは重耇を削陀するために等しいず芋なされたす デフォルトは ALL です select-list FROM 句のテヌブル参照から遞択する列たたは列の匏を指定したす * FROM 句に指定された ク゚リ衚珟の評䟡によっお刀別されるテヌブル ビュヌ 結合されたテヌブル たたは導出されたテヌブルのすべおの列を指定したす corr.* corr. FROM 句に指定されたテヌブル参照の盞関名 corr を䜿甚しお 特定のテヌブル参照のすべおの列を指定したす 盞関名 (6-11) を参照しおください FROM 句に指定されたテヌブル参照の盞関名 corr を䜿甚しお 特定のテヌブル参照のすべおの列を指定したす single-col [[AS] name] 列を指定したす col-expr [[AS]name] リスト内の SQL 倀の匏の評䟡によっお刀別される導出された列を指定したす AS 句を䜿甚するこずによっお 導出された列 col-expr を name に関連付けるこずができたす 71

遞択リストに関する留意事項 (2-343) の制限に関する蚘述を参照しおください INTO variable-spec [,variable-spec ]... SELECT 文の結果行の倀を返すホスト倉数を指定したす select-list の項目数は 指定したホスト倉数の数ず等しい必芁がありたす 各゜ヌス倀のデヌタタむプは タヌゲットのホスト倉数のデヌタタむプず互換性がある必芁がありたす 結果行の最初の倀が最初のホスト倉数に代入され 2 番目の倀が 2 番目の倉数に代入されたす ( 以䞋同様 ) variable-spec には行セットホスト倉数を指定できたす 1 ぀の行セットホスト倉数を指定した堎合は INTO リストに指定したすべおのホスト倉数が行セットである必芁がありたす 行セットを䜿甚した堎合は 耇数の行を返すこずができたす 返された行数が行セットの長さより短い堎合 ゚ラヌは衚瀺されたせん ただし 返された行数が行セットの長さたたは指定された rowset-size-out を超えた堎合 NonStop SQL/MX ぱラヌを衚瀺したす INTO 句は UNION 操䜜ではない操䜜 および 1 ぀の行を返す操䜜にのみ䜿甚したす SELECT 文が耇数の行を返す堎合は INTO リストに行セットホスト倉数を䜿甚するか カヌ゜ルを䜿甚したす :variable-name [[INDICATOR]:indicatorname ] 倉数の指定です ( ホスト倉数ずオプションのむンゞケヌタヌ倉数 ) 倉数名は コロン (:) で始たりたす SELECT 文の結果行の倀は これらのホスト倉数に 返されたす むンゞケヌタヌ倉数のデヌタタむプはスケヌル 0 の真数です ホスト倉数に返されたデヌタがヌルの堎合 むンゞケヌタヌ倉数はれロ未満の倀に蚭定されたす 返された文字デヌタが切り捚おられた堎合 むンゞケヌタヌパラメヌタヌにはデヌタベヌス内の文字列の長さが蚭定されたす SQL/MX Programming Manual for C and COBOL で単䞀行の SELECT 文に぀いお参照しおください FROM table-ref [,table-ref ]... NonStop SQL/MX が select-list に指定された列を返す䞭間結果テヌブルの内容が導出される テヌブル ビュヌ 導出されたテヌブル たたは結合されたテヌブルのリストを指定したす テヌブルたたはビュヌを参照するには 次の名前タむプのいずれかを䜿甚したす Guardian 物理名 ANSI 論理名 72

DEFINE 名 デヌタベヌスオブゞェクト名 (6-13) を参照しおください 1 ぀の table-ref のみを指定した堎合 䞭間結果テヌブルはそのテヌブル参照から導出された行で構成されたす 耇数の table-ref を指定した堎合 䞭間結果テヌブルは個々のテヌブル参照から導出された結果テヌブルのクロス積ずなりたす table [[AS] corr [<<+table-hint-list>>] [(col-expr-list)]] STREAM (table) [[AS] corr [(col-expr-list)]] [AFTER LAST ROW] view [[AS] corr [(col-expr-list)]] STREAM (view) [[AS] corr [(col-expr-list)]] [AFTER LAST ROW] (query-expr) [AS] corr [(col-expr-list)] (delete-statement [RETURN select-list]) [AS] corr [(col-expr-list)] (update-statement [RETURN select-list]) [AS] corr [(col-expr-list)] joined-table 単䞀のテヌブル ビュヌ ク゚リ衚珟の評䟡によっお刀別される導出されたテヌブル 結合されたテヌブル テヌブルたたはビュヌのストリヌミング あるいは埋め蟌み曎新文たたは削陀文ずしお table-ref を指定したす 次のオプションの句はテヌブルたたはビュヌに指定できたす 次の句は導出されたテヌブルで必芁ずなりたす [AS] corr [<<+table-hint-list>>] [(col-expr-list)] FROM 句内の先行するテヌブル参照 table-ref に盞関名 corr を指定したす 盞関名 (6-11) を参照しおください col-expr [[AS]name] [,col-expr [[AS]name]]... 導出された列のリストである col-expr-list に項目を指定したす ク゚リ衚珟の指定に぀いおは SELECT 文 の query-expr の構文図を参照しおください STREAM (table) [[AS] corr [(col-expr-list)]] テヌブルから連続したデヌタストリヌムを返したす 連続したデヌタストリヌムに察しお開いおいるカヌ゜ルは デヌタの終わりの状態を返すこずはなくブロック ( 埅機 ) 状態になり 新しい行が䜿甚可胜になるず実行を再開したす [[AS] corr [(col-expr-list)]] FROM 句内の先行するテヌブル参照に オプションの盞関名 corr およびオプションの列リストを指定したす 73

[AFTER LAST ROW] テヌブル内の既存のすべおの行をストリヌムがスキップするようにしお ストリヌムのカヌ゜ルが開かれおから公開された行のみを返したす STREAM (view) [[AS] corr [(col-expr-list)]] ビュヌから連続したデヌタストリヌムを返したす [AFTER LAST ROW] ビュヌ内の既存のすべおの行をストリヌムがスキップするようにしお ストリヌムのカヌ゜ルが開かれおから公開された行のみを返したす (delete-statement [RETURN select-list]) [AS] corr [(col-expr-list)] アプリケヌションが単䞀の操䜜で行を読み取っお削陀できたす deletestatement の構文に぀いおは DELETE 文 を参照しおください RETURN select-list 削陀された行から返される列たたは列の匏を指定したす select-list の項目には 次の圢匏を䜿甚できたす [OLD.]* 埋め蟌み DELETE で提䟛される OLD テヌブルの行を指定したす OLD テヌブルは削陀操䜜の前の列倀を参照したす NEW は蚱可されたせん RETURN リストを指定しない埋め蟌み削陀操䜜では 暗黙的な OLD.* の RETURN リストが想定されたす col-expr [[AS]name] リスト内の SQL 倀の匏の評䟡によっお刀別される導出された列を指定したす 倀の匏で参照される列は 埋め蟌み DELETE によっお提䟛される OLD テヌブルの行の列です OLD テヌブルは削陀操䜜の前の列倀を参照したす AS 句を䜿甚するこずによっお 導出された列 col expr を name に関連付けるこずができたす [AS] corr [(col-expr-list)] 遞択リスト RETURN select-list 内の先行する項目に オプションの盞関名 corr およびオプションの列リストを指定したす (update-statement [RETURN select-list]) [AS] corr [(col-expr-list)] アプリケヌションが単䞀の操䜜で行を読み取っお曎新できたす updatestatement の構文に぀いおは UPDATE 文 を参照しおください RETURN select-list 74

曎新された行から返される列たたは列の匏を指定したす select-list の項目には 次の圢匏を䜿甚できたす [OLD. NEW.]* 埋め蟌み UPDATE で提䟛される OLD テヌブルたたは NEW テヌブルの行を指定したす OLD テヌブルは曎新操䜜前の列倀を参照し NEW テヌブルは曎新操䜜埌の列倀を参照したす 列が曎新されなかった堎合 NEW の倀は OLD の倀ず同じです RETURN リストを指定しない埋め蟌み曎新操䜜では 暗黙的な NEW.* の RETURN リストが想定されたす col-expr [[AS]name] リスト内の SQL 倀の匏の評䟡によっお刀別される導出された列を指定したす 倀の匏で参照される列は 埋め蟌み UPDATE によっお提䟛される OLD テヌブルたたは NEW テヌブルの行の列ずしお指定できたす 次に䟋を瀺したす RETURN old.empno,old.salary,new.salary, (new.salary - old.salary). AS 句を䜿甚するこずによっお 導出された列 col-expr を名前 name に関連付けるこずができたす [AS] corr [(col-expr-list)] 遞択リスト RETURN select-list 内の先行する項目に オプションの盞関名 corr およびオプションの列リストを指定したす 次に䟋を瀺したす RETURN old.empno,old.salary,new.salary, (new.salary - old.salary) AS emp (empno, oldsalary, newsalary, increase). table-ref [NATURAL] [join-type] JOIN tableref [join-spec] join-type は次のずおりです CROSS INNER LEFT [OUTER] RIGHT [OUTER] 結合されたテヌブルです join-type は CROSS INNER OUTER LEFT および RIGHT キヌワヌドを䜿甚しお指定したす オプションの OUTER キヌワヌドを省略しお 結合に LEFT たたは RIGHT を䜿甚した堎合 NonStop SQL/MX は結合が倖郚結合であるず想定したす join-type ずしお CROSS JOIN を指定した堎合 NATURAL JOIN たたは join-spec は指定できたせん join-type ずしお INNER LEFT RIGHT 結合を指定し NATURAL JOIN を指定しない堎合は 次のように join-spec ずしお ON 句を䜿甚する必芁がありたす ON search-condition 結合に search-condition を指定したす search-condition の各列参照は JOIN キヌワヌドの巊および右のテヌブル参照から導出された 2 ぀の結 75

果テヌブルのいずれかに存圚する列である必芁がありたす 結果テヌブルの 2 ぀の行の結合は それらの行が条件を満たす堎合に行われたす ON rowset-search-condition 結合に rowset-search-condition を指定したす 怜玢条件の配列は順番に評䟡され 各条件に぀いお 結果テヌブルの 2 ぀の行が条件を満たす堎合に それらの行が結合されたす rowset-search-condition の各列参照は JOIN キヌワヌドの巊および右のテヌブル参照から導出された 2 ぀の結果テヌブルのいずれかに存圚する列である必芁がありたす 結合のタむプおよび結合の指定 ( 䜿甚した堎合 ) によっお 次のように 2 ぀のテヌブル参照から結合される行が刀別されたす table-ref CROSS JOIN table-ref 巊の table-ref の各行を右の table-ref の各行ず結合したす table-ref NATURAL JOIN table-ref 䞡方のテヌブルの同じ名前を持぀すべおの列の倀が䞀臎する行のみを結合したす このオプションは NATURAL INNER ず同等です table-ref NATURAL LEFT JOIN table-ref 䞡方のテヌブルの同じ名前を持぀すべおの列の倀が䞀臎する行を結合し この条件を満たさない巊の table-ref の行を加えたす table-ref NATURAL RIGHT JOIN table-ref 䞡方のテヌブルの同じ名前を持぀すべおの列の倀が䞀臎する行を結合し この条件を満たさない右の table-ref の行を加えたす table-ref JOIN table-ref ON ON 句の条件を満たす行のみを結合したす このオプションは INNER JOIN... ON ず同等です table-ref LEFT JOIN table-ref ON ON 句の条件を満たす行を結合し この条件を満たさない巊の table-ref の 行を加えたす table-ref RIGHT JOIN table-ref ON ON 句の条件を満たす行を結合し この条件を満たさない右の table-ref の行を加えたす simple-table を指定する 3 ぀の方法を次に瀺したす VALUES (row-value-const) [,(row-value-const)]... TABLE table SELECT [ALL DISTINCT] select-list FROM table-ref [,table-ref]... 76

FROM ROWSET [rowset-size ] (:array-name [,:array-name ]...) [WHERE search-condition rowset-search-condition ] [SAMPLE sampling-method] [TRANSPOSE transpose-set [transpose-set]... [KEY BY key-colname]]... [SEQUENCE BY colname [ASC[ENDING] DESC[ENDING]] [,colname [ASC[ENDING] DESC[ENDING]]]...] [GROUP BY {colname colnum} [,{colname colnum}]...] [HAVING search-condition rowset-search-condition ] [[FOR] access-option ACCESS] [IN {SHARE EXCLUSIVE} MODE] simple-table には テヌブル倀コンストラクタヌを指定できたす これは VALUES キヌワヌドで始たり 䞀連の行倀コンストラクタヌ ( それぞれをカッコで囲みたす ) が続きたす row-value-const は 匏 ( たたは NULL) のリスト たたは行のサブク゚リ ( 単䞀行の列倀を返すサブク゚リ ) です 匏のオペランドは列を参照できたせん ( オペランドが結果テヌブルの単䞀の列倀を返すスカラヌサブク゚リである堎合を陀く ) row-value-const 芁玠ずしおの NULL の䜿甚は SQL/MX で拡匵された機胜です simple-table は TABLE キヌワヌドを䜿甚しおテヌブル名をそれに続けるこずによっお指定できたす これは ク゚リの指定 SELECT * FROM table ず同等です simple-table には ク゚リの指定を指定できたす ぀たり SELECT... FROM... およびオプションの WHERE SAMPLE TRANSPOSE SEQUENCE BY GROUP BY および HAVING 句で構成される SELECT 文です 通垞 この圢匏の単玔なテヌブルは INSERT CREATE VIEW たたは DECLARE CURSOR 文で䜿甚されたす FROM ROWSET rowset-size 行セットから導出されたテヌブルのサむズを指定されたサむズに制限したす 指定するサむズは 行セットに割り圓おられおいるサむズ以䞋である必芁がありたす サむズを指定する堎合は 盎埌に ROWSET キヌワヌドを指定したす サむズは unsigned integer たたは倀が unsigned integer であるホスト倉数です :array-name [,:array-name]... 䞀連のホスト倉数配列を指定したす 各 array-name は行セットから導出されたテヌブルの列のように䜿甚できたす 各 array-name には SQL デヌタタむプに察応するデヌタタむプの有効なホスト蚀語の識別子を指定できたす SQL 文内の各 array-name の前にコロン (:) を付けたす 行セットおよびホスト倉数配列の詳现は SQL/MX Programming Manual for C and COBOL を参照しおください WHERE search-condition 行を遞択する search-condition を指定したす 怜玢条件 (6-108) を参照しおください WHERE 句には 集箄 (set) 関数を含めるこずはできたせん search-condition が適甚されるのは FROM 句のテヌブル参照から導出 77

された結果テヌブルの各行 たたは耇数のテヌブル参照の堎合 個々のテヌブル参照から導出された結果テヌブルのクロス積の各行です 通垞 search-condition に指定する各列は この䞭間結果テヌブルの列です 比范倀を求めるために䜿甚されるネストしたサブク゚リの堎合は 列が倖郚参照であるこずもできたす サブク゚リ (6-111) を参照しおください ANSI 暙準に準拠するために NonStop SQL/MX は 集玄述郚を WHERE 句から HAVING 句に移動せず 非集玄述郚を HAVING 句から WHERE 句に移動したせん (NonStop SQL/MP では移動されたした ) WHERE rowset-search-condition 行を遞択する rowset-search-condition を指定したす 行セット怜玢条件 (6-110) を参照しおください WHERE 句には 集箄 (set) 関数を含めるこずはできたせん rowset-search-condition の個々の怜玢条件は FROM 句のテヌブル参照から導出された結果テヌブル たたは耇数のテヌブル参照の堎合 個々のテヌブル参照から導出された結果テヌブルのクロス積に順番に適甚されたす 個々の怜玢条件のいずれかに䞀臎する行が遞択されたす 行が耇数の怜玢条件に䞀臎する堎合は 䞀床だけ遞択されたす 通垞 rowset-search-condition に指定する各列は この䞭間結果テヌブルの列です 比范倀を求めるために䜿甚されるネストしたサブク゚リの堎合は 列が倖郚参照であるこずもできたす サブク゚リ (6-111) を参照しおください SAMPLE sampling-method SELECT 文の䞭間結果テヌブルのサブセットを遞択するために䜿甚されるサンプリング方法を指定したす 各方法ではサンプリングサむズが䜿甚されたす 3 ぀のサンプリング方法 (RANDOM FIRST および PERIODIC) は次のように指定したす RANDOM percent-size 結果テヌブルから眮き換えるこずなく 行をランダムに遞択する ( 各行が無䜜為に遞択されたす ) ように NonStop SQL/MX に指瀺したす サンプリングサむズは 結果テヌブルの割合を䜿甚するこずによっお刀別されたす FIRST rows-size [SORT BY colname [,colname]...] ゜ヌトされた結果テヌブルから最初の rows-size 行を遞択するように NonStop SQL/MX に指瀺したす サンプリングサむズは指定された行数を䜿甚しお刀断されたす PERIODIC rows-size EVERY number-rows ROWS [SORT BY colname [,colname]...] ゜ヌトされた連続する行の各ブロック ( 呚期 ) から最初の行を遞択するように NonStop SQL/MX に指瀺したす サンプリングサむズは各ブロックから遞択するように指定された行数を䜿甚しお刀断されたす 78

SAMPLE は SQL/MX で拡匵された機胜です SET CATALOG 文 (2-359) を参照しおください TRANSPOSE transpose-set [transpose-set]...[key BY key-colname] transpose-set およびオプションのキヌ句を TRANSPOSE 句内に指定したす SELECT 文には耇数の TRANSPOSE 句を䜿甚できたす transpose-item-list AS transpose-col-list transpose-set を指定したす TRANSPOSE 句内には耇数の transpose-set を䜿甚できたす TRANSPOSE 句は FROM 句のテヌブル参照から導出された゜ヌステヌブルの各行に぀いお すべおの transpose-set の各 transposeitem-list の各項目の行を生成したす TRANSPOSE 句の結果テヌブルには ゜ヌステヌブルのすべおの列に加えお すべおの transpose-set の各 transpose-col-list に指定された倀列 およびオプションのキヌ列 key-colname がありたす KEY BY key-colname 必芁に応じお オプションのキヌ列 key-colname を指定したす これは transpose-item-list の䜍眮によっお transpose 列リストの倀に察応する匏を識別したす key-colname は SQL 識別子です デヌタタむプは真数で倀は NOT NULL です TRANSPOSE は SQL/MX で拡匵された機胜です TRANSPOSE 句 (7-26) を参照しおください SEQUENCE BY colname [ASC[ENDING] DESC[ENDING]] [,colname [ASC[ENDING] DESC[ENDING]]]... シヌケンス関数を蚈算するために 䞭間結果テヌブルの行を゜ヌトする順序を指定したす select-list にシヌケンス関数を含める堎合は SEQUENCE BY 句を含める必芁がありたす そうでない堎合 NonStop SQL/MX ぱラヌを返したす たた select-list にシヌケンス関数がない堎合は SEQUENCE BY 句を含めるこずはできたせん colname select-list の列 たたは SELECT 文の FROM 句のテヌブル参照の列を指定したす colname は オプションでテヌブル ビュヌ たたは盞関名によっお修食できたす ( たずえば CUSTOMER.CITY) ASC DESC ゜ヌト順を指定したす デフォルトは ASC です NonStop SQL/MX がヌルが含たれおいる可胜性がある列で䞭間結果テヌブルを䞊べ替える堎合 ヌル同士は等しく ヌルはヌル以倖の他のすべおの倀より倧きいず芋なされたす GROUP BY [col-expr] {colname colnum} [,{colname colnum}]...] SELECT 文の結果テヌブルの䞀連のグルヌプを定矩するグルヌプ化列 79

colname [,colname]... を指定したす これらの列は SELECT 文の FROM 句のテヌブル参照の列のリストに指定されおいる必芁がありたす GROUP BY 句を含める堎合 select-list で参照する列は グルヌプ化列 たたは集玄 ( たたは set) 関数の匕数である必芁がありたす グルヌプ化列は䞀連のグルヌプを定矩し 各グルヌプは指定された列の倀が同じ行で構成されたす 列名は テヌブル ビュヌ名 たたは盞関名によっお修食できたす ( たずえば CUSTOMER.CITY) たずえば AGE を指定した堎合 結果テヌブルには AGE が 40 に等しい行の 1 ぀のグルヌプ および AGE が 50 に等しい 1 ぀のグルヌプが含たれたす AGE ず JOB を指定した堎合 結果テヌブルには各幎霢に 1 ぀のグルヌプ および各幎霢のグルヌプ内に各ゞョブコヌドのサブグルヌプが含たれたす GROUP BY は SELECT リスト内の盞察的な䜍眮を指す順序を䜿甚しお指定できたす たずえば GROUP BY 3, 2, 1 です グルヌプ化するために すべおのヌルは互いに等しいず芋なされたす GROUP BY 句の結果テヌブルは 1 ぀のヌルグルヌプのみを持぀こずができたす GROUP BY に関する留意事項 (2-344) を参照しおください HAVING search-condition SELECT 文内の先行する GROUP BY 句から生成されたグルヌプ化テヌブルの各グルヌプに search-condition を適甚するように指定したす GROUP BY 句が存圚する堎合は SELECT 文の HAVING 句の前にある必芁がありたす ANSI 暙準に準拠するために NonStop SQL/MX は 集玄述郚を WHERE 句から HAVING 句に移動せず 非集玄述郚を HAVING 句から WHERE 句に移動したせん (NonStop SQL/MP では移動されたした ) GROUP BY 句がない堎合 search-condition は WHERE 句 ( たたは WHERE 句がない堎合は FROM 句 ) から生成されたテヌブル党䜓 (1 ぀のグルヌプで構成される ) に適甚されたす search-condition では 集箄 ( たたは set) 関数の匕数ずしお任意の列を指定できたす ( たずえば AVG (SALARY)) 集玄関数はグルヌプ化されたテヌブルの各グルヌプに適甚されたす 集玄関数の匕数ではない列は グルヌプ化列である必芁がありたす グルヌプ化列を参照する堎合 グルヌプ内の各行にはグルヌプ化列ず同じ倀が含たれおいるため 単䞀の倀を参照しおいたす 怜玢条件 (6-108) を参照しおください HAVING rowset-search-condition SELECT 文内の先行する GROUP BY 句から生成されたグルヌプ化テヌブルの 80

各グルヌプに行セット怜玢条件を適甚するように指定したす rowsetsearch-condition 配列の個々の怜玢条件は 各グルヌプに順番に適甚されたす GROUP BY 句が存圚する堎合は SELECT 文の HAVING 句の前にある必芁がありたす GROUP BY 句がない堎合 rowset-search-condition は WHERE 句 ( たたは WHERE 句がない堎合は FROM 句 ) から生成されたテヌブル党䜓 (1 ぀のグルヌプで構成される ) に適甚されたす 集箄 ( たたは set) 関数の匕数には任意の列を指定できたす ( たずえば AVG (SALARY)) 集玄関数はグルヌプ化されたテヌブルの各グルヌプに適甚されたす 集玄関数の匕数ではない列は グルヌプ化列である必芁がありたす グルヌプ化列を参照する堎合 グルヌプ内の各行にはグルヌプ化列ず同じ倀が含たれおいるため 単䞀の倀を参照しおいたす 行セット怜玢条件 (6-110) を参照しおください [FOR] access-option ACCESS SELECT 文によっお たたは SELECT 文であるク゚リ衚珟の評䟡から導出された FROM 句のテヌブル参照によっお指定されたデヌタにアクセスする堎合の access-option を指定したす デヌタ䞀貫性ずアクセスオプション (1-8) を参照しおください READ UNCOMMITTED アクセスするデヌタは コミットされた行のデヌタである必芁はないこずを指定したす READ UNCOMMITTED の代わりに SQL/MP の拡匵された BROWSE を指定できたす READ COMMITTED アクセスするデヌタは コミットされた行のデヌタである必芁があるこずを指定したす SERIALIZABLE REPEATABLE READ SELECT 文および䞊行プロセス ( 同じデヌタにアクセスする ) が䞊行ではなく連続的に実行されおいるかのように実行するこずを指定したす SKIP CONFLICT 別のトランザクションによっお競合モヌドでロックされおいる行をトランザクションがスキップするようにしたす SKIP CONFLICT は SET TRANSACTION 文では䜿甚できたせん STABLE アクセスしおいる行が 行の凊理䞭はロックされるもののデヌタベヌスの同時䜿甚は蚱可されるこずを指定したす デフォルトのアクセスオプションは 含たれおいるトランザクションの分離レベルであり 分離レベル (10-55) に指定されたルヌルに埓っお決定されたす IN {SHARE EXCLUSIVE} MODE SELECT 文によっお たたは SELECT 文であるク゚リ衚珟の評䟡から導出さ 81

れた FROM 句のテヌブル参照によっお指定されたデヌタにアクセスする堎合 およびむンデックス ( ある堎合 ) ぞのアクセスによっおテヌブルぞのアクセスが発生する堎合に SHARE ロックたたは EXCLUSIVE ロックを䜿甚するかどうかを指定したす UNION [ALL] select-stmt SELECT 文の結果テヌブルず別の SELECT 文の結果テヌブルの間に䞀連の UNION 操䜜を指定したす UNION 操䜜の結果は 元ずなる 2 ぀のテヌブルのいずれかに属する行で構成されたテヌブルです UNION ALL を指定した堎合 テヌブルには各 SELECT 文によっお取埗されたすべおの行が含たれたす それ以倖の堎合 重耇する行は削陀されたす UNION 操䜜の 2 ぀の SELECT 文の遞択リストには同じ数の列があり リスト内の察応する䜍眮の列は互換性のあるデヌタタむプである必芁がありたす 遞択リストの前に [ANY N] たたは [FIRST N] は指定できたせん UNION 操䜜の結果テヌブルの列数は 各遞択リストの列数ず同じです UNION の結果テヌブルの列名は 巊の SELECT 文の遞択リストの察応する名前ず同じです 匏たたは定数の UNION から生成された列の名前は (EXPR) です UNION に関する留意事項 (2-344) を参照しおください [WITH control-query-default control-list] Control-query-default は DML 文甚のむンラむン CQD コマンドを指定したす CQD コマンドは CONTROL QUERY DEFAULT です Control-list は 属性名ずその倀を含みたす attribute SQL/MX 属性名を衚す文字列で SYSTEM_DEFAULTS テヌブルの ATTRIBUTE 列に察応したす attr-value SQL/MX 属性倀を指定する文字列で SYSTEM_DEFAULTS テヌブルの ATTR_VALUE 列に察応したす [ statement-level-hint-list ] hint-list テヌブルのヒント たたは 文のヒント のリストです statement-hint { join-type-hint } です join-type-hint 2 ぀の行゜ヌスを結合するずきに䜿甚する各皮の結合タむプの実装を匷制たたは排陀するヒントです 次のうちのいずれかです { USE_HASHJOIN 82

NO_HASHJOIN USE_MERGEJOIN NO_MERGEJOIN USE_NESTEDJOIN NO_NESTEDJOIN } USE_HASHJOIN (table-1 [, table-2]) オプティマむザヌに察し 行゜ヌス間の結合に ハッシュ結合を䜿甚するように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずハッシュ結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるか より倧きな結合バックボヌンずハッシュ結合されたす このずき 2 ぀のテヌブルのうち 1 ぀が内郚テヌブルに その他が倖郚テヌブルずなりたす 行゜ヌスがハッシュ結合を䜿甚しお結合できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす NO_HASHJOIN (table-1 [, table-2]) オプティマむザヌに察し 行゜ヌス間の結合に ハッシュ結合を䜿甚しないように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずハッシュ結合されたせん 別の行゜ヌスずは ネステッド結合たたはマヌゞ結合で結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるこずはなく より倧きな結合バックボヌンずハッシュ結合されるこずもありたせん ただし これらは ネステッド結合たたはマヌゞ結合で盞互に結合される可胜性がありたす 行゜ヌス間のハッシュ結合を排陀できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす USE_MERGEJOIN (table-1 [, table-2]) オプティマむザヌに察し 2 ぀の行゜ヌス間の結合に マヌゞ結合を䜿甚するように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずマヌゞ結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるか より倧きな結合バックボヌンずマヌゞ結合されたす このずき 2 ぀のテヌブルのうち 1 ぀が内郚テヌブルに その他が倖郚テヌブルずなりたす 行゜ヌスがマヌゞ結合を䜿甚しお結合できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす NO_MERGEJOIN (table-1 [, table-2]) オプティマむザヌに察し 行゜ヌス間の結合に マヌゞ結合を䜿甚しないように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずマヌゞ結合されたせん 別の行゜ヌスずは ネステッド結合たたはハッシュ結合で結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるこずはなく より倧きな結合バックボヌンずマヌゞ結合されるこずもありたせん ただし これらは ネステッド結合たたはハッシュ結合で盞互に結合される可胜性がありたす 行゜ヌス間のマヌゞ結合を排陀できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす USE_NESTEDJOIN (table-1 [, table-2]) オプティマむザヌに察し 2 ぀の行゜ヌス間の結合に ネステッド結合を䜿甚 83

するように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルを内郚テヌブルずしお 別の行゜ヌスずネステッド結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるか より倧きな結合バックボヌンずネステッド結合されたす このずき 2 ぀のテヌブルのうち 1 ぀が内郚テヌブルに その他が倖郚テヌブルずなりたす 行゜ヌスがネステッド結合を䜿甚しお結合できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす NO_NESTEDJOIN (table-1 [, table-2]) オプティマむザヌに察し 行゜ヌス間の結合に ネステッド結合を䜿甚しないように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずネステッド結合されたせん 別の行゜ヌスずは ハッシュ結合たたはマヌゞ結合で結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるこずはなく より倧きな結合バックボヌンずハッシュ結合されるこずもありたせん ただし これらは ハッシュ結合たたはマヌゞ結合で盞互に結合される可胜性がありたす 行゜ヌス間のネステッド結合を排陀できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす table-1, table-2 次のうちの 1 ぀ : ヒントが指定された SQL 文で参照する MX たたは MP テヌブルの 郚分修食名 完党修食名 たたは盞関名 MP ゚むリアス名も可胜です [<<+ table-hint-list >>] table-hint 次のいずれかの倀をずりたす { access-path-hint cardinality-hint selectivity-hint } access-path-hint SQL 文䞭のテヌブル参照甚パスぞのアクセスを匷制たたは排陀するヒントです 次のいずれかの倀をずりたす { BASETABLE table NO_BASETABLE table INDEX table (index-list) NO_INDEX table (index-list) INDEXJOIN table (index-list) NO_INDEXJOIN table (index-list) } BASETABLE SQL 文䞭の関連テヌブル参照に実テヌブルのアクセスパスを匷制したす 実テヌブルのアクセスパスを匷制できない堎合 オプティマむザヌはヒントを無芖し 譊告を発行したす NO_BASETABLE SQL 文䞭の関連テヌブル参照に実テヌブルのアクセスパスを䜿甚しないようにしたす 実テヌブルのアクセスパスを排陀できない堎合 オプティマむザヌはヒントを無芖し 譊告を発行したす 84

INDEX table(index-list) SQL 文䞭の関連テヌブル参照に 指定されたむンデックスを䜿甚したむンデックスアクセスパスを匷制したす 指定されたむンデックスを䜿甚したむンデックスアクセスパスが䜿甚できない堎合 オプティマむザヌは譊告を発行し テヌブルぞの最適なアクセスパスを遞択したす NO_INDEX table(index-list) SQL 文䞭の関連テヌブル参照にむンデックスアクセスパスを䜿甚しないようにしたす むンデックスアクセスパスを排陀できない堎合 オプティマむザヌは譊告を発行し テヌブルぞの最適なアクセスパスを遞択したす NO_INDEX ヒントにむンデックスのリストが指定されおいる堎合 指定されたすべおのむンデックスのむンデックスアクセスパスが排陀されたす INDEXJOIN table(index-list) SQL 文䞭の関連テヌブル参照に 指定されたむンデックスを䜿甚したむンデックス結合アクセスパスを匷制したす むンデックス結合アクセスパスを䜿甚できない堎合 オプティマむザヌは譊告を発行し テヌブルぞの最適なアクセスパスを遞択したす INDEXJOIN ヒントにむンデックスのリストが指定されおいる堎合 それらのうち最適なむンデックス結合アクセスパスが遞択されたす NO_INDEXJOIN table(index-list) SQL 文䞭の関連テヌブル参照に 指定されたむンデックスを䜿甚したむンデックス結合アクセスパスを䜿甚しないようにしたす 指定されたむンデックスを䜿甚したむンデックス結合アクセスパスが排陀できない堎合 オプティマむザヌは譊告を発行し テヌブルぞの最適なアクセスパスを遞択したす NO_INDEXJOIN ヒントにむンデックスのリストが指定されおいる堎合 指定されたすべおのむンデックスのむンデックス結合アクセスパスが排陀されたす Table 次のうちの 1 ぀ : ヒントが指定された SQL 文で参照する MX たたは MP テヌブルの 郚分修食名 完党修食名 たたは盞関名 MP ゚むリアス名も可胜です index-list ナヌザヌ䜜成たたはシステム䜜成のむンデックスのリストです 存圚しないむンデックス デヌタがないむンデックス たたはテヌブル参照に関連しないむンデックスが指定された堎合 オプティマむザヌは譊告を発行したす cardinality-hint オプティマむザヌに 関連するテヌブル参照のコスト蚈算で 指定した行のカヌディナリティを䜿甚するよう指瀺したす cardinality-value 1~922337203685477580 の敎数倀です この範囲倖の倀や 小数が指定され 85

た堎合 オプティマむザヌは cardinality-hint を無芖し 譊告を発行したす selectivity-hint オプティマむザヌに 関連するテヌブル参照のコスト蚈算で 指定した遞択性を䜿甚するよう指瀺したす selectivity-value 0.0~1.0 の実数倀です 0.0 より小さい倀や 1.0 より倧きい倀が指定された堎合 オプティマむザヌは selectivity-hint を無芖し 譊告を発行したす ORDER BY {colname colnum } [ASC[ENDING] DESC[ENDING]] [,{colname colnum } [ASC[ENDING] DESC[ENDING]]]... 最終的な結果テヌブルの行を゜ヌトする順序を指定したす colname select-list の列 たたは SELECT 文の FROM 句のテヌブル参照の列を指定したす colname は オプションでテヌブル ビュヌ たたは盞関名によっお修食できたす ( たずえば CUSTOMER.CITY) 列に別の名前の゚むリアスがある堎合は その゚むリアス名を䜿甚する必芁がありたす colnum select-list 内の䜍眮によっお 列を指定したす colnum は 導出された列などの名前のない列を参照するために䜿甚したす ASC DESC ゜ヌト順を指定したす デフォルトは ASC です ヌルが含たれおいる可胜性がある列で結果テヌブルを䞊べ替える堎合 ヌル同士は等しく ヌルはヌル以倖の他のすべおの倀より倧きいず芋なされたす access-path-hint SQL 文䞭のテヌブル参照甚パスぞのアクセスを匷制たたは排陀するヒントです 次のいずれかの倀をずりたす { BASETABLE table NO_BASETABLE table INDEX table (index-list) NO_INDEX table (index-list) INDEXJOIN table (index-list) NO_INDEXJOIN table (index-list)} ORDER BY に関する留意事項 (2-344) を参照しおください オプティマむザヌのヒントに぀いおの詳现は SQL/MX 3.4 Query Guide を参照しおください 86

むンラむン CQD での SELECT の䟋 むンラむン CQD の正しい䜿甚䟋 : SELECT col_1, col_2 FROM tmptable WHERE col_3 = 4 ORDERBY col_1 WITH CONTROL QUERY DEFAULT interactive_access 'on', AUTOMATIC_RECOMPILATION 'OFF'; 87

UPDATE 文 UPDATE に関する留意事項 (2-383) MXCI の UPDATE の䟋 (2-393) C の UPDATE の䟋 (2-393) COBOL の UPDATE の䟋 (2-393) パブリッシュ / サブスクラむブでの DELETE の䟋 (2-394) UPDATE 文は テヌブルたたは曎新可胜なビュヌで行 ( 耇数可 ) のデヌタを曎新する DML 文です ビュヌの行を曎新するず ビュヌが基にしおいるテヌブルの行が曎新されたす SQL/MX リリヌス 3.2 以降では 自己参照曎新がサポヌトされたす このサポヌトにより タヌゲットテヌブルから 曎新する行をサブク゚リで遞択できたす SQL/MX リリヌス 3.2 以降では プラむマリキヌ列を曎新できたす UPDATE 文の 2 ぀の圢匏を次に瀺したす 怜玢による UPDATE 行を曎新したす ( 行の遞択は怜玢条件によっお異なりたす ) 䜍眮指定による UPDATE カヌ゜ルの䜍眮によっお刀別される 1 ぀の行を曎新したす 怜玢による UPDATE の圢匏で WHERE 句がない堎合は テヌブルたたはビュヌのすべおの行が曎新されたす 䜍眮指定による UPDATE の圢匏は 埋め蟌み SQL プログラムでのみ䜿甚したす 怜玢による圢匏は MXCI たたは埋め蟌み SQL プログラムで䜿甚したす 88

怜玢による UPDATE を次に瀺したす [ ROWSET FOR INPUT SIZE rowset-size-in ] UPDATE table STREAM (table ) [AFTER LAST ROW] SET set-clause [,set-clause ]... [SET ON ROLLBACK set-roll-clause [,set-roll-clause]...] [WHERE search-condition rowset-search-condition ] [[FOR] access-option ACCESS ] WITH control-query-default control-list] [ statement-level-hint-list ] set-roll-clause is: column-name = expression rowset-expression access-option is: READ COMMITTED SERIALIZABLE REPEATABLE READ SKIP CONFLICT control-query-default is: CONTROL QUERY DEFAULT control-list is: attribute 'attr-value' attribute 'attr-value' [, control-list]... statement-level-hint-list is: USING <<+ hint-list >> hint-list is: hint [, hint-list] hint is: statement-hint table-hint statement-hint is: join-type-hint table-hint is: access-path-hint cardinality-hint selectivity-hint join-type-hint is: USE_HASHJOIN (table-1 [,table-2]) NO_HASHJOIN (table-1 [,table-2]) USE_MERGEJOIN (table-1 [,table-2]) NO_MERGEJOIN (table-1 [,table-2]) USE_NESTEDJOIN (table-1 [,table-2]) NO_NESTEDJOIN (table-1 [,table-2]) access-path-hint is: BASETABLE table NO_BASETABLE table INDEX table( index-list ) NO_INDEX table( index-list ) INDEXJOIN table( index-list ) NO_INDEXJOIN table( index-list ) index-list is: index [, index]... cardinality-hint is: 89

CARDINALITY table( cardinality-value ) selectivity-hint is: SELECTIVITY table( selectivity-value ) 䜍眮指定による UPDATE を次に瀺したす UPDATE table SET set-clause [,set-clause ]... WHERE CURRENT OF {cursor-name ext-cursor-name} set-clause is: column-name = {expression rowset-expression NULL} table ROWSET FOR INPUT SIZE rowset-size-in WHERE 句に rowset-search-condition を指定した堎合にのみ蚱可されたす rowset-size-in は入力行セットのサむズを指定したサむズに制限したす 行セットに割り圓おられおいるサむズず rowset-size-in が異なる堎合 NonStop SQL/MX は 2 ぀のサむズの小さい方を䜿甚し 倧きい行セットの残りの゚ントリヌを無芖したす rowset-size-in は C の unsigned short signed short unsigned long たたは signed long タむプの正数リテラル および COBOL の察応する同等な正数リテラル ( 真数リテラル 動的パラメヌタヌ たたはホスト倉数 ) である必芁がありたす rowset-size-in を指定しない堎合 NonStop SQL/MX は埋め蟌み SQL プログラムの SQL Declare Section に指定された割り圓お枈みの行セットのサむズを䜿甚したす 曎新するナヌザヌテヌブルたたはビュヌを指定したす table は実テヌブルたたは曎新可胜なビュヌである必芁がありたす テヌブルたたはビュヌを参照するには 次の名前タむプのいずれかを䜿甚したす Guardian 物理名 ANSI 論理名 DEFINE 名 デヌタベヌスオブゞェクト名 (6-13) を参照しおください STREAM (table) 指定したテヌブルで連続したデヌタストリヌムを曎新したす SELECT 文のテヌブル参照ずしお埋め蟌たれおいない堎合 UPDATE 文に STREAM アクセスを指定できたせん SELECT 文 を参照しおください [AFTER LAST ROW] テヌブル内の既存のすべおの行をストリヌムがスキップするようにしお ストリヌムのカヌ゜ルが開かれおから公開された行のみを曎新したす 90

set-clause 曎新されおいるテヌブル内の特定の列に倀を関連付けたす 各 set-clause に぀いお 指定したタヌゲットの column-name の倀が 曎新゜ヌスの expression の倀 ( たたは NULL) に眮き換えられたす タヌゲットの各列のデヌタタむプが ゜ヌス倀のデヌタタむプず互換性がある必芁がありたす WHERE 句に行セットの怜玢条件を含める堎合 set-clause で行セット匏を䜿甚できたすが 必須ではありたせん SET および WHERE 句で行セットのサむズが異なる堎合 2 ぀のサむズの小さい方が䜿甚され 倧きい行セットの残りの゚ントリヌは無芖されたす 行セットの怜玢条件の n 番目の条件で遞択した行は set-clause の行セット匏の n 番目の匏で曎新されたす 行セット怜玢条件 (6-110) を参照しおください column-name 曎新する table の列を指定したす 列名を修食したり 繰り返したりするこずはできたせん expression 列の倀を指定する SQL 倀の匏です expression には 列に定矩した集玄関数を含めるこずはできたせん expression のデヌタタむプは column-name のデヌタタむプず互換性がある必芁がありたす expression 内のスカラヌサブク゚リは 曎新されおいるテヌブルを参照できたせん expression が曎新される列を参照しおいる堎合 NonStop SQL/MX は元の倀を䜿甚しお匏を評䟡し 新しい倀を刀別したす 匏 (6-41) を参照しおください rowset-expression 列の倀を指定する SQL 倀の匏の配列です rowset-expression が SET 句に珟れるのは rowset-search-condition が WHERE 句に存圚する堎合のみです rowset-search-condition を䜿甚する堎合 set-clause 匏には 2 ぀の遞択肢がありたす スカラヌホスト倉数のみ この堎合 結果テヌブルのすべお行が スカラヌ匏を評䟡するこずで取埗された同䞀の倀で曎新されたす 耇数の配列ホスト倉数 この堎合 配列のサむズが WHERE 句の search-condition で䜿甚される配列のサむズに䞀臎しないずきには 小さい方の倀が䜿甚されたす search-condition 配列の最初の芁玠の結果ずしお返されたすべおの行は set-clause 配列の最初の芁玠を評䟡しお取埗された倀を䜿甚しお曎新されたす search-condition 配列の 2 番目の芁玠の結果ずしお返される結果テヌブル内のすべおの行は setclause 配列の 2 番目の芁玠を䜿甚しお曎新され 3 番目以降も同様です ホスト倉数および行セットの詳现は SQL/MX Programming Manual for C and COBOL を参照しおください NULL 曎新゜ヌスの倀も指定できたす 91

]... SET ON ROLLBACK set-roll-clause [,set-roll-clause UPDATE 文の実行によっお それに含たれおいるトランザクションがロヌルバックされた堎合 1 ぀以䞊の列が曎新されたす set-roll-clause 指定した列に特定の倀を蚭定したす 各 set-roll-clause に぀いお 指定したタヌゲットの column-name の倀が 曎新゜ヌスの expression の倀に眮き換えられたす タヌゲットの各列のデヌタタむプが ゜ヌス倀のデヌタタむプず互換性がある必芁がありたす WHERE 句に行セットの怜玢条件を含める堎合 set-roll-clause で行セット匏を䜿甚できたすが 必須ではありたせん SET および WHERE 句で行セットのサむズが異なる堎合 2 ぀のサむズの小さい方が䜿甚され 倧きい行セットの残りの゚ントリヌは無芖されたす 行セット怜玢条件の n 番目の条件で遞択した行は set-roll-clause の行セット匏の n 番目の匏で曎新されたす column-name 曎新する table の列を指定したす 列名を修食したり 繰り返したりするこずはできたせん expression 列の倀を指定する SQL 倀の匏です expression には 列に定矩した集玄関数を含めるこずはできたせん expression のデヌタタむプは column-name のデヌタタむプず互換性がある必芁がありたす expression 内のスカラヌサブク゚リは 曎新されおいるテヌブルを参照できたせん expression が曎新される列を参照しおいる堎合 NonStop SQL/MX は元の倀を䜿甚しお匏を評䟡し 新しい倀を刀別したす 匏 (6-41) を参照しおください rowset-expression 列の倀を指定する SQL 倀の匏の配列です rowset-expression が SET ON ROLLBACK 句に珟れるのは rowset-search-condition が WHERE 句に存圚する堎合のみです rowset-search-condition の n 番目の芁玠で返される行は rowset-expression の n 番目の芁玠を䜿甚しお曎新されたす 匏に関する䞊蚘のルヌルは rowsetexpression の各配列芁玠に適甚されたす ホスト倉数および行セットの詳现は SQL/MX Programming Manual for C and COBOL を参照しおください WHERE search-condition 曎新する行を遞択する search-condition を指定したす 92

search-condition 内で 比范されおいる列は テヌブルたたはビュヌ内でも曎新されおいたす 怜玢条件 (6-108) を参照しおください search-condition を指定しない堎合は テヌブルたたはビュヌのすべおの行が曎新されたす 同じテヌブルの SELECT を含む WHERE 句ずずもに UPDATE 文を䜿甚しないでください 同じテヌブルに察しお読み取りおよび挿入 曎新 たたは削陀を行った堎合 ゚ラヌが発生したす 代わりに䜍眮指定された (WHERE CURRENT OF)UPDATE を䜿甚しおください WHERErowset-search-condition 削陀する行を遞択する怜玢条件の配列を指定したす 怜玢条件は順番に適甚され 各条件によっお遞択された行は 次の怜玢条件が適甚される前に曎新されたす したがっお 単䞀の行が耇数回曎新される堎合がありたす 行セット怜玢条件が存圚する堎合にのみ SET 句で行セット匏を䜿甚できたす 行セット怜玢条件 (6-110) を参照しおください [FOR] access-option ACCESS 怜玢条件の評䟡に䜿甚されるデヌタに必芁な access-option を指定したす デヌタ䞀貫性ずアクセスオプション (1-8) を参照しおください READ COMMITTED 怜玢条件の評䟡に䜿甚されるデヌタが コミット枈みの行である必芁があるこずを指定したす SERIALIZABLE REPEATABLE READ UPDATE 文ず同時に実行される ( 同じデヌタにアクセスする ) プロセスがある堎合 同時にではなく連続的に実行されるかのように UPDATE 文ずその他のプロセスを実行するこずを指定したす SKIP CONFLICT 別のトランザクションによっお競合モヌドでロックされおいる行をトランザクションがスキップするようにしたす 察象ずなる行は UPDATE 文の怜玢条件を評䟡した結果の行です SKIP CONFLICT は SET TRANSACTION 文では䜿甚できたせん デフォルトのアクセスオプションは 含たれおいるトランザクションの分離レベルであり 分離レベル (10-55) に指定されたルヌルに埓っお決定されたす WHERE CURRENT OF {cursor-name ext-cursorname} 曎新する行に䜍眮指定されたカヌ゜ル ( たたは拡匵カヌ゜ル ) の名前を指定したす オヌディット察象テヌブルたたはビュヌに cursor-name を指定する堎合は 行の FETCH も含むトランザクション内で UPDATE を実行する必芁がありたす 曎新する各列は カヌ゜ル宣蚀の FOR UPDATE 句に珟れおいる必芁がありた 93

す [WITH control-query-default control-list] Control-query-default は DML 文甚のむンラむン CQD コマンドを指定したす CQD コマンドは CONTROL QUERY DEFAULT です Control-list は 属性名ずその倀を含みたす attribute SQL/MX 属性名を衚す文字列で SYSTEM_DEFAULTS テヌブルの ATTRIBUTE 列に察応したす attr-value SQL/MX 属性倀を指定する文字列で SYSTEM_DEFAULTS テヌブルの ATTR_VALUE 列に察応したす [ statement-level-hint-list ] hint-list テヌブルのリストず文のヒントです statement-hint { join-type-hint } です join-type-hint 2 ぀の行゜ヌスを結合するずきに䜿甚する各皮の結合タむプの実装を匷制たたは排陀するヒントです 次のうちのいずれかです { USE_HASHJOIN NO_HASHJOIN USE_MERGEJOIN NO_MERGEJOIN USE_NESTEDJOIN NO_NESTEDJOIN } USE_HASHJOIN (table-1 [, table-2]) オプティマむザヌに察し 行゜ヌス間の結合に ハッシュ結合を䜿甚するように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずハッシュ結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるか より倧きな結合バックボヌンずハッシュ結合されたす このずき 2 ぀のテヌブルのうち 1 ぀が内郚テヌブルに その他が倖郚テヌブルずなりたす 行゜ヌスがハッシュ結合を䜿甚しお結合できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす NO_HASHJOIN (table-1 [, table-2]) オプティマむザヌに察し 行゜ヌス間の結合に ハッシュ結合を䜿甚しないように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずハッシュ結合されたせん 別の行゜ヌスずは ネステッド結合たたはマヌゞ結合で結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるこずはなく より倧きな結合バックボヌンずハッシュ結合されるこずもあり 94

たせん ただし これらは ネステッド結合たたはマヌゞ結合で盞互に結合される可胜性がありたす 行゜ヌス間のハッシュ結合を排陀できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす USE_MERGEJOIN (table-1 [, table-2]) オプティマむザヌに察し 2 ぀の行゜ヌス間の結合に マヌゞ結合を䜿甚するように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずマヌゞ結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるか より倧きな結合バックボヌンずマヌゞ結合されたす このずき 2 ぀のテヌブルのうち 1 ぀が内郚テヌブルに その他が倖郚テヌブルずなりたす 行゜ヌスがマヌゞ結合を䜿甚しお結合できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす NO_MERGEJOIN (table-1 [, table-2]) オプティマむザヌに察し 行゜ヌス間の結合に マヌゞ結合を䜿甚しないように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずマヌゞ結合されたせん 別の行゜ヌスずは ネステッド結合たたはハッシュ結合で結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるこずはなく より倧きな結合バックボヌンずマヌゞ結合されるこずもありたせん ただし これらは ネステッド結合たたはハッシュ結合で盞互に結合される可胜性がありたす 行゜ヌス間のマヌゞ結合を排陀できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす USE_NESTEDJOIN (table-1 [, table-2]) オプティマむザヌに察し 2 ぀の行゜ヌス間の結合に ネステッド結合を䜿甚するように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルを内郚テヌブルずしお 別の行゜ヌスずネステッド結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるか より倧きな結合バックボヌンずネステッド結合されたす このずき 2 ぀のテヌブルのうち 1 ぀が内郚テヌブルに その他が倖郚テヌブルずなりたす 行゜ヌスがネステッド結合を䜿甚しお結合できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす NO_NESTEDJOIN (table-1 [, table-2]) オプティマむザヌに察し 行゜ヌス間の結合に ネステッド結合を䜿甚しないように指瀺したす ヒントに 1 ぀のテヌブル参照のみが指定されおいる堎合 指定されたテヌブルは別の行゜ヌスずネステッド結合されたせん 別の行゜ヌスずは ハッシュ結合たたはマヌゞ結合で結合されたす ヒントに 2 ぀のテヌブル参照が指定されおいる堎合 指定されたテヌブルは盞互に盎接結合されるこずはなく より倧きな結合バックボヌンずネステッド結合されるこずもありたせん ただし これらは ハッシュ結合たたはマヌゞ結合で盞互に結合される可胜性がありたす 行゜ヌス間のネステッド結合を排陀できない堎合 コンパむラヌはヒントを無芖し 譊告を発行したす table-1, table-2 95

次のうちの 1 ぀ : ヒントが指定された SQL 文で参照する MX たたは MP テヌブルの 郚分修食名 完党修食名 たたは盞関名 MP ゚むリアス名も可胜です table-hint 次のいずれかの倀をずりたす { access-path-hint cardinality-hint selectivityhint } access-path-hint SQL 文䞭のテヌブル参照甚パスぞのアクセスを匷制たたは排陀するヒントです 次のいずれかの倀をずりたす { BASETABLE table NO_BASETABLE table INDEX table (index-list) NO_INDEX table (index-list) INDEXJOIN table (index-list) NO_INDEXJOIN table (index-list) } BASETABLE SQL 文䞭の関連テヌブル参照に実テヌブルのアクセスパスを匷制したす 実テヌブルのアクセスパスを匷制できない堎合 オプティマむザヌはヒントを無芖し 譊告を発行したす NO_BASETABLE SQL 文䞭の関連テヌブル参照に実テヌブルのアクセスパスを䜿甚しないようにしたす 実テヌブルのアクセスパスを排陀できない堎合 オプティマむザヌはヒントを無芖し 譊告を発行したす INDEX table(index-list) SQL 文䞭の関連テヌブル参照に 指定されたむンデックスを䜿甚したむンデックスアクセスパスを匷制したす 指定されたむンデックスを䜿甚したむンデックスアクセスパスが䜿甚できない堎合 オプティマむザヌは譊告を発行し テヌブルぞの最適なアクセスパスを遞択したす NO_INDEX table(index-list) SQL 文䞭の関連テヌブル参照にむンデックスアクセスパスを䜿甚しないようにしたす むンデックスアクセスパスを排陀できない堎合 オプティマむザヌは譊告を発行し テヌブルぞの最適なアクセスパスを遞択したす NO_INDEX ヒントにむンデックスのリストが指定されおいる堎合 指定されたすべおのむンデックスのむンデックスアクセスパスが排陀されたす INDEXJOIN table(index-list) SQL 文䞭の関連テヌブル参照に 指定されたむンデックスを䜿甚したむンデックス結合アクセスパスを匷制したす むンデックス結合アクセスパスを䜿甚できない堎合 オプティマむザヌは譊告を発行し テヌブルぞの最適なアクセスパスを遞択したす INDEXJOIN ヒントにむンデックスのリストが指定されおいる堎合 それらのうち最適なむンデックス結合アクセスパスが遞択されたす NO_INDEXJOIN table(index-list) SQL 文䞭の関連テヌブル参照に 指定されたむンデックスを䜿甚したむンデッ 96

クス結合アクセスパスを䜿甚しないようにしたす 指定されたむンデックスを䜿甚したむンデックス結合アクセスパスが排陀できない堎合 オプティマむザヌは譊告を発行し テヌブルぞの最適なアクセスパスを遞択したす NO_INDEXJOIN ヒントにむンデックスのリストが指定されおいる堎合 指定されたすべおのむンデックスのむンデックス結合アクセスパスが排陀されたす Table 次のうちの 1 ぀ : ヒントが指定された SQL 文で参照する MX たたは MP テヌブルの 郚分修食名 完党修食名 たたは盞関名 MP ゚むリアス名も可胜です index-list ナヌザヌ䜜成たたはシステム䜜成のむンデックスのリストです 存圚しないむンデックス デヌタがないむンデックス たたはテヌブル参照に関連しないむンデックスが指定された堎合 オプティマむザヌは譊告を発行したす cardinality-hint オプティマむザヌに 関連するテヌブル参照のコスト蚈算で 指定した行のカヌディナリティを䜿甚するよう指瀺したす cardinality-value 1~922337203685477580 の敎数倀です この範囲倖の倀や 小数が指定された堎合 オプティマむザヌは cardinality-hint を無芖し 譊告を発行したす selectivity-hint オプティマむザヌに 関連するテヌブル参照のコスト蚈算で 指定した遞択性を䜿甚するよう指瀺したす selectivity-value 0.0~1.0 の実数倀です 0.0 より小さい倀や 1.0 より倧きい倀が指定された堎合 オプティマむザヌは selectivity-hint を無芖し 譊告を発行したす 埋め蟌み SQL プログラムでの怜玢による UPDATE 文および䜍眮指定による UPDATE 文に぀いお詳しくは SQL/MX Programming Manual for C and COBOL を参照しおください オプティマむザヌのヒントに぀いおの詳现は SQL/MX 3.4 Query Guide を参照しおください 97

UPDATE STATISTICS 文 UPDATE STATISTICS に関する留意事項 (2-399) UPDATE STATISTICS の䟋 (2-404) UPDATE STATISTICS 文は テヌブル内の 1 ぀たたは耇数の列グルヌプに関するヒストグラム統蚈情報を曎新したす これらの統蚈情報は 最適化されたアクセスプランの䜜成に䜿甚されたす UPDATE STATISTICS は ヒストグラム統蚈情報に加え SQL/MX テヌブルのパヌティションに関する物理統蚈情報 ( むンデックスレベル 空でないブロック数および EOF) を生成したす UPDATE STATISTICS は SQL/MX で拡匵された機胜です UPDATE STATISTICS FOR TABLE table [CLEAR on-clause] on-clause is: ON column-group-list CLEAR ON column-group-list [histogram-option]... column-group-list is: column-list [,column-list]... EVERY COLUMN [,column-list]... EVERY KEY [,column-list]... EXISTING COLUMN[S] [,column-list]... NECESSARY COLUMN[S] [,column-list]... column-list for a single-column group is: column-name (column-name ) column-name TO column-name (column-name) TO (column-name) column-list for a multicolumn group is: (column-name, column-name [,column-name]...) histogram-option is: GENERATE n INTERVALS SAMPLE [sample-option] [SET ROWCOUNT c ][sample-table-clause ] sample-option is: [r ROWS] RANDOM percent PERCENT [CLUSTERS OF blocks BLOCKS] PERIODIC size ROWS EVERY period ROWS sample-table-clause is: USING SAMPLE TABLE {WITH PARTITIONS sample-table-name } table 統蚈情報を曎新するテヌブルを指定したす テヌブルを参照するには 次の名前タむプのいずれかを䜿甚したす Guardian 物理名 ANSI 論理名 DEFINE 名 デヌタベヌスオブゞェクト名 (6-13) を参照しおください 98

CLEAR テヌブル table の䞀郚たたはすべおのヒストグラムを削陀したす 特定のヒストグラム統蚈情報が新しいアプリケヌションで䜿甚されなくなった堎合に このオプションを䜿甚したす column-group-list を指定しない堎合 table のすべおのヒストグラムが削陀されたす column-group-list を指定した堎合 グルヌプリスト内の列だけが削陀されたす ON column-group-list ヒストグラム統蚈情報をクリアするオプションを付けおヒストグラム統蚈情報を生成する 1 ぀たたは耇数の列グルヌプ (column-group-list) を指定したす ヒストグラムテヌブルに栌玍された統蚈情報を生成するには ON 句を䜿甚する必芁がありたす これを省略した堎合 SQL/MX テヌブルの物理統蚈情報が生成され NonStop SQL/MX から譊告メッセヌゞが返されたす 統蚈情報の䜿甚 (2-399) を参照しおください column-list EVERY COLUMN [, column-list ] EVERY KEY [, column-list ] EXISTING COLUMN[S] [, column-list ] NECESSARY COLUMN[S] [, column-list ] column-group-list を定矩する方法を指定したす 列リストには 単䞀列グルヌプず耇数列グルヌプの䞡方が瀺されたす 単䞀列グルヌプ : column-name (column-name ) column-name TO column-name (column-name ) TO (column-name ) 個々の列か 個々の列のグルヌプを指定できる方法です 個々の列の統蚈情報を生成するには 各列をリストしたす それぞれの単䞀の列名をカッコで囲んで たたはカッコを付けずにリストするオプションがありたす 耇数列グルヌプ : (column-name, column-name [,column-name ]...) 耇数列グルヌプを指定したす 耇数列統蚈情報を生成するには 䞊蚘のように䞀連の列をカッコ内にたずめたす 同じ列グルヌプ内に耇数回 1 ぀の列の名前を指定するこずはできたせん 䞀意の列グルヌプごずに 1 ぀のヒストグラムが生成されたす 重耇したグルヌプは無芖され 凊理が続行したす 同じナヌザヌテヌブルに察しお UPDATE STATISTICS を再床実行するず そのテヌブルの新しいデヌタが 以前に生成されテヌブルのヒストグラムテヌブルに栌玍されたデヌタに取っお代わりたす ON 句で指定されおいない列グルヌプのヒストグラムは ヒストグラムテヌブルで倉曎されないたたです 列の指定に぀いおの詳现は 列の統蚈情報の生成ずクリア (2-400) を参照しおください 99

EVERY COLUMN EVERY COLUMN キヌワヌドは table の個々の列ず プラむマリキヌおよびむンデックスを構成するすべおの耇数列に぀いおヒストグラム統蚈情報が生成されるこずを瀺したす たずえば table には列 A B C D が定矩されおおり A B C がプラむマリキヌを構成したす この堎合 ON EVERY COLUMN オプションが 列 A B C D の単䞀列ヒストグラムず (A B C) および (A B) の 2 ぀の耇数列ヒストグラムを生成したす EVERY COLUMN オプションは EVERY KEY が行う動䜜を行うほか 個々の 列に関する远加の統蚈情報を生成したす EVERY KEY EVERY KEY キヌワヌドは プラむマリキヌおよびむンデックスを構成する列に぀いおヒストグラム統蚈情報が生成されるこずを瀺したす たずえば table には列 A B C D が定矩されおいたす プラむマリキヌが列 A B から構成されおいる堎合 (A B) A および B の統蚈情報が生成されたす プラむマリキヌが列 A B C から構成されおいる堎合は (A B C) (A B) A B C の統蚈情報が生成されたす プラむマリキヌが列 A B C D から構成されおいる堎合は (A B C D) (A B C) (A B) および A B C D の統蚈情報が生成されたす EXISTING COLUMN[S] EXISTING COLUMN[S] オプションは 珟圚統蚈が存圚するすべおの単䞀列グルヌプず耇数列グルヌプ甚に ヒストグラム統蚈が再生成されるこずを瀺したす たずえば table に列 A B C D が定矩されおいるずき ヒストグラム統蚈は列グルヌプ A B C D (A B) および (B C D) 甚に生成されたす これらの列グルヌプ甚に統蚈を再生成したい堎合は UPDATE STATISTICS コマンドを実行するずきに EXISTING COLUMN[S] オプションを指定したす EXISTING COLUMN[S] オプションは 既存のヒストグラムデヌタに䟝存するので ヒストグラムデヌタが利甚できない堎合にこのオプションを䜿甚するず 譊告メッセヌゞが返りたす NECESSARY COLUMN[S] NECESSARY COLUMN[S] オプションは 統蚈が 廃止 されたすべおの単䞀列グルヌプず耇数列グルヌプ甚に ヒストグラム統蚈が再生成されるこずを瀺したす デヌタ倉曎の量が 指定された しきい倀 を超えた テヌブルの単䞀列グルヌプず耇数列グルヌプは 廃止されたず刀断されたす このしきい倀のデフォルトは 15 ( ぀たり 15 パヌセント ) です テヌブルのヒストグラムデヌタが利甚できない堎合にこのオプションを䜿甚するず 譊告メッセヌゞが返りたす SQL/MX が テヌブルの廃止に盞圓する列グルヌプを怜出できない堎合 曎新の必芁なヒストグラムがないずいう譊告メッセヌゞを返したす NECESSARY COLUMN[S] オプションは スキヌマバヌゞョン 3000 以䞊のずきのみ指定できたす このオプションは SQL/MP テヌブルではサポヌトされたせん 100

histogram-option GENERATE n INTERVALS ヒストグラムが玄 n 個の間隔で生成されるように指定するオプション句です 生成される間隔の実際の数は n の数よりも倧きくなるこずも小さくなるこずもありたす テヌブルのサむズずデヌタ分配に応じお 各ヒストグラムには n 個の間隔が含たれたす NonStop SQL/MX は 間隔の数が䞎えられるず 行を均等に分配しようずしたす n 個の間隔は 1 から 10000 の間の敎数 (1 < n < 10000) にする必芁がありたす蚭定する間隔の数は すべおの列グルヌプに䜿甚されたす 間隔の数を指定しない堎合 テヌブルサむズず他の芁因に基づいおシステムのデフォルト倀が自動的に䞎えられたす 最適な間隔数をシステムが決定できるようにするこずをお勧めしたす SAMPLE [sample-option ] [SET ROWCOUNT c ][sample-table-clause ] テヌブルからデヌタのサブセットを収集するためにサンプリングを䜿甚するように指定するオプション句です UPDATE STATISTICS は 䞀時テヌブルを䜿甚しおサンプル結果を栌玍し ヒストグラムを生成したす 詳现は ヒストグラムテヌブルのプロパティ (10-85) を参照しおください 远加オプションなしで SAMPLE 句を指定した堎合 最倧 200 䞇行で テヌブル内の行の 2 パヌセントを読み取るために行サンプルが䜿甚されたす ROWCOUNT オプションを指定した堎合 NonStop SQL/MX は 最倧 200 䞇行で c の 2 パヌセントを読み取りたす SAMPLE 句を指定しない堎合 table には指定よりも行が少なく たたはサンプルサむズがシステム制限より倧きくなりたす NonStop SQL/MX は table からすべおの行を読み取りたす SAMPLE 句 (7-9) を参照しおください sample-option [r ROWS] 行サンプルは テヌブルから r 行を読み取るために䜿甚されたす 倀 r は れロ以䞊の敎数 (r 0) にする必芁がありたす ROWCOUNT 句を指定した堎合 r は c 以䞋 (r c) にする必芁がありたす パヌセントは r/c * 100 の匏で求められたす RANDOM percent PERCENT [CLUSTERS OF blocks BLOCKS] NonStop SQL/MX にテヌブルからランダムに行を遞択するように指瀺したす 倀 percent は 0~100 の倀 (0 < percent 100) にする必芁がありたす さらに 小数点以䞋第 4 䜍たでだけが有意です たずえば 倀 0.00001 は 0.0000 ず芋なされ 倀 1.23456 は 1.2345 ず芋なされたす CLUSTERS OF blocks BLOCKS 101

クラスタヌを構成するブロック数を指定したす 倀 block は れロ以䞊の敎数 (blocks 0) にする必芁がありたす PERIODIC size ROWS EVERY period ROWS 最初の size の行数を行の各期間から遞択するように NonStop SQL/MX に指瀺したす 倀 size は れロより倧きく倀 period 以䞋の敎数にする必芁がありたす (0 < size period) 期間のサむズは period に察しお指定された行数によっお定矩されたす 倀 period は れロより倧きな敎数にする必芁がありたす (period > 0) SET ROWCOUNT c テヌブルの行数を指定するオプション句です 倀 c は れロ以䞊の敎数にする必芁がありたす (c 0) ROWCOUNT 句が指定されおいない堎合 NonStop SQL/MX は 掚定たたは SELECT COUNT(*) によっおテヌブル内の行数を決定したす SAMPLE 句 (7-9) を参照しおください sample-table-clause USING SAMPLE TABLE WITH PARTITIONS 䞀時テヌブルを分割するように SQL/MX に指瀺したす 䞀時テヌブルは UPDATE STATISTICS コマンドが実行される実テヌブルず同じ方法で分割されたす USING SAMPLE TABLE sample-table-name 䞀時テヌブルずしお sample-table-name で指定されたテヌブルを䜿甚するように SQL/MX に指瀺したす 泚蚘 : sample-table-clause は SQL/MX テヌブルでのみサポヌトされおいたす SQL/MP テヌブルでは䜿甚できたせん 102

UPGRADE ナヌティリティ UPGRADE に関する留意事項 (2-409) UPGRADE の䟋 (2-409) UPGRADE は MXCI から実行できる構文ベヌスのナヌティリティコマンドです UPGRADE は SQL/MX ゜フトりェアバヌゞョン (MXV) の既存のバヌゞョンのメタデヌタを珟圚のスキヌマバヌゞョンに倉換したす REPORTONLY オプションを䜿甚するず 操䜜を実際に実行せずに 操䜜が実行可胜かどうかをテストできたす UPGRADE ALL METADATA [ output-spec ] UPGRADE ALL METADATA IN CATALOG catalog [ RESTRICT CASCADE ] [ output-spec ] output-spec is: [ log-to-spec ] [ REPORTONLY ] log-to-spec is: { [ LOG TO ] OUTFILE oss-file [ CLEAR ] LOG TO HOMETERM } catalog RESTRICT CASCADE メタデヌタをアップグレヌドするカタログの ANSI 名を指定したす catalog にデフォルトはありたせん 指定したカタログのみのメタデヌタにアップグレヌドを制限したす 指定したカタログに盎接 間接に関連する党カタログにアップグレヌドを拡匵したす デフォルトは RESTRICT です output-spec 出力オプションに察応したす 泚蚘 : UPGRADE ナヌティリティは L シリヌズ J06.11 以降の J シリヌズ RVU および H06.22 以降の H シリヌズ RVU を実行しおいるシステムでのみ䜿甚できたす 103

MXCI コマンドの䟋 MXCI コマンドを䜿甚しお コン゜ヌルバヌゞョンの MXCI を開始したす /mxutil/sys 1>mxci Hewlett Packard Enterprise NonStop(TM) SQL/MX Conversational Interface 3.4 (c) Copyright 2003-2015 Hewlett Packard Enterprise Development LP. >> MXCI セッションは EXIT コマンドを䜿甚しお停止できたす EXIT コマンド (4-29) を参照しおください 以䞋のコマンドの堎合 mxci -i input.sql input.sql の内容は次のように蚘述できたす drop table tab; create table tab(a INT); insert into tab values(10); select * from tab; 次のコマンドを䜿甚しお 入力ファむルの結果を別のファむルに栌玍できたす mxci -i inputfile >>outputfile 次に䟋を瀺したす mxci -i input.sql >>result MXCI コマンドラむンオプション-s の䟋 mxci -s inputfile.sql inputfile.sql の内容は次のように蚘述できたす Create catalog tempcat; Create schema tempcat.tempsch; Set schema tempcat.tempsch; Create table sampletab(a int); Insert into sampletab values(10); Select * from sampletab; コマンド実行埌の結果は以䞋のようになりたす Hewlett Packard Enterprise NonStop(TM) SQL/MX Conversational Interface 3.4 (c) Copyright 2003-2015 Hewlett Packard Enterprise Development LP. >>Create catalog tempcat; --- SQL operation complete. >>Create schema tempcat.tempsch; --- SQL operation complete. >>Set schema tempcat.tempsch; --- SQL operation complete. >>Create table sampletab(a int); --- SQL operation complete. >>Insert into sampletab values(10); --- 1 row(s) inserted. >>Select * from sampletab; A ----------- 10 104

--- 1 row(s) selected. >> 105

SET SESSION DEFAULT 文 SET SESSION DEFAULT に関する留意事項 SET SESSION DEFAULT の䟋 SET SESSION DEFAULT 文は珟圚のプロセスのセッションレベルのデフォルト蚭定を倉曎したす 各セッションには 実行時に蚭定できるセッション自身の属性がありたす この属性はセッションごずに蚭定できたす SET SESSION DEFAULT session-default-option session-default-option is: attribute {'attr-value'} attribute SQL/MX 属性名を衚す文字列です attr-value SQL/MX 属性の倀を指定する文字列です 匕甚笊付きの文字列で指定する必芁がありたす SET SESSION DEFAULT の属性 次の衚に セッションデフォルトでサポヌトされる属性を瀺したす 衚 27 SET SESSION DEFAULT の属性 属性 ESP_IDLE_TIMEOUT 説明 ESP_IDLE_TIMEOUT 属性は実行時に蚭定できたす この属性を蚭定するず 指定したタむムアりト倀 ( 秒 ) に達した埌の䞀定時間アむドル状態になっおいた ESP が SQL/MX により切断されたす ESP の最小のタむムアりト倀は 60 秒です ESP_IDLE_TIMEOUT のデフォルト倀は 1800 秒です この属性倀をれロに蚭定するず ESP がタむムアりトしなくなりたす 泚蚘 : SQL/MX 3.4 より前のリリヌスでは アむドル状態の ESP は文の割り圓お解陀から 1800 秒埌に切断されたす SQL/MX 3.4 から ナヌザがタむムアりト倀を制埡できるようになりたした 106

START_ESP_TIMEOUT_TIMER START_ESP_TIMEOUT_TIMER は ESP_IDLE_TIMEOUT の動䜜を制埡するために䜿われる セッションデフォルトの属性です 以䞋の倀を蚭定するのに䜿えたす WHEN_STATEMENT_DEALLOCATED START_ESP_TIMEOUT_TIMER をこの倀に蚭定するず 文が割り圓お解陀された時点から ESP のタむムアりトタむマヌが始動したす これがデフォルト倀です WHEN_STATEMENT_EXECUTED START_ESP_TIMEOUT_TIMER をこの倀に蚭定するず 文の実行埌すぐに ESP のタむムアりトタむマヌが始動したす 組み蟌み型の C/C++ アプリケヌションたたは文キャッシュ機胜を䜿う JDBC/ODBC アプリケヌションでは セッションデフォルトの属性 ESP_IDLE_TIMEOUT で指定したタむムアりト倀の経過埌に ESP が切断されるようにするため このオプションを䜿う必芁がありたす セッションデフォルトの属性に蚭定されおいる倀を知るには SHOWSET コマンドを䜿いたす SHOWSET コマンドの詳现は SHOWSET コマンド (526 ペヌゞ ) を参照しおください SET SESSION DEFAULT に関する留意事項 アむドル状態のタむムアりト倀は最小のタむムアりト倀です 最小のタむムアりト倀を経過するたで ESP は停止されたせん ESP が停止されるたでに このタむムアりト倀より時間がかかる堎合がありたす SET SESSION DEFAULT の䟋 ESP_IDLE_TIMEOUT 属性倀を 60 に蚭定するには 次のコマンドを䜿いたす set session default esp_idle_timeout 60 ; START_ESP_TIMEOUT_TIMER の倀を WHEN_STATEMENT_DEALLOCATED に蚭定するには 次のコマンドを䜿いたす set session default START_ESP_TIMEOUT_TIMER WHEN_STATEMENT_DEALLOCATED ; 107

SHOWSET コマンド SHOWSET コマンドは SET SESSION DEFAULT 文 を䜿甚しお蚭定した セッションのデフォルト属性倀を衚瀺したす SHOWSET showset-option showset-option is: DEFAULTS DEFAULTS ALL DEFAULT [attribute-name] DEFAULTS ALL すべおのセッションのデフォルト属性倀を衚瀺したす DEFAULT [attribute-name] すべおのセッションのデフォルト属性倀を衚瀺したす 108

SHOWSTATS コマンド SHOWSTATS コマンドは テヌブルの列から統蚈情報を取埗したす MXCI たたは埋め蟌みプログラムを䜿甚しおこのコマンドを実行できたす SHOWSTATS FOR TABLE tablename ON column-spec [DETAIL] column-spec is: EVERY KEY [columnname,columnname...] EVERY COLUMN EXISTING COLUMN[S] NECESSARY COLUMN[S] column1 TO column2 column-set column-set is: column-set-member [, column-set-member...] column-set-member is: columnname multi-column-group multi-column-group is:(columnname1, columnname2...) DETAIL ヒストグラム ID 間隔数 行の総数 合蚈 UEC 列名 各間隔の䜎い倀ず高い倀を含む詳现な統蚈情報を衚瀺したす EVERY KEY キヌたたはキヌの䞀郚ずなっおいる各列の統蚈情報を衚瀺したす EVERY COLUMN 統蚈情報を利甚できるテヌブルの各列の統蚈情報を衚瀺したす EXISTING COLUMN[S] 統蚈情報を利甚できるテヌブルの各列および耇数列グルヌプの統蚈情報を衚瀺したす NECESSARY COLUMN[S] 統蚈情報が 廃止 された テヌブルの単䞀列および耇数列グルヌプの統蚈情報を衚瀺したす SQL/MX が 廃止されたテヌブルの列グルヌプを怜出できない堎合 行を返したせん そもそも 利甚できるヒストグラムデヌタがない堎合 このオプションを䜿甚するず テヌブルに利甚できるヒストグラムがないずしお 行を返したせん NECESSARY COLUMN[S] オプションは スキヌマバヌゞョン 3000 以䞊のずきのみ指定できたす このオプションは SQL/MP テヌブルではサポヌトされたせん column1 TO column2 テヌブルの column1 から column2 たでの利甚可胜な統蚈情報を衚瀺したす 109

FIXUP 操䜜 FIXUP 操䜜に関する留意事項 (5-11) FIXUP 操䜜の䟋 (5-11) FIXUP は mxtool から実行する OSS コマンドラむンナヌティリティであり 通垞の操䜜では修埩できない SQL/MX デヌタベヌス内の問題を修埩したす mxtool utility-operation utility-operation is: FIXUP {guardian-option object-option} guardian-option is LABEL guardian-file g-opts comment: object-type object-name o-opts }End comment guardian-file is [\node.]$volume.subvolume.filename g-opts is: { -a= { on off } -rb -rc -rt -ru } object-option is object-type object-name o-opts object-type is { TABLE INDEX SEQUENCE } object-name is catalog.schema.object o-opts is:{ -rc -rt -ru } [-d] guardian-file g-opts 倉曎する Guardian ファむルを指定したす ボリュヌム名およびサブボリュヌム名で完党修食する必芁がありたす 名前に特殊文字 ( \ $ など ) が含たれるので それらの文字の前にバックスラッシュ (\) を付けるか 4 郚構成の名前党䜓を単䞀匕甚笊で囲む必芁がありたす 次に䟋を瀺したす \\node2.\$data3.sales.mytable or '\node2.$data3.sales.mytable'. Guardian ファむルに利甚できるオプションです AUDIT 属性を切り替える BROKEN 属性をオフにする CORRUPT 属性をオフにする 再定矩タむムスタンプをリセットする 䞍敎合なラベルおよびメタデヌタオブゞェクト UID を修正する { -a= { on off } ラベルのオヌディット属性を切り替えたす オヌディット属性が ON であるのに オンにする芁求を発行した堎合 FIXUP はオヌディット属性がすでにオンであるこずを瀺す譊告を返したす オヌディット属性が OFF であるのに オ 110

フにする芁求を発行した堎合 FIXUP は譊告を返したす この操䜜を実行するには Super ID のオヌナヌであるこずが必芁です テヌブルのオヌディットをオフにした堎合 オンラむンダンプが無効になりたす FIXUP 操䜜の完了埌 テヌブルのすべおのパヌティションに察しお 新しい TMF オンラむンダンプを実行する必芁がありたす -rb ラベル䞊で BROKEN 属性をオフにしたす BROKEN 属性がすでにリセットされおいるのに リセットする芁求を発行した堎合 FIXUP は譊告を返したす 泚意 : ラベル䞊の BROKEN 属性をリセットする -rb 操䜜は リスクを䌎う操䜜になる可胜性がありたす ファむルが実際に壊れおおり 属性をリセットした堎合 デヌタベヌスの敎合性が問題になりたす さらに DP2 は 壊れたファむルに次回アクセスしようずしたずきに この属性をリセットしたす -rc ラベル内の CORRUPT 属性ず 特定のパヌティションに察する PARTITIONS メタデヌタテヌブル内の CORRUPT 属性をオフにしたす パヌティションですでに CORRUPT 属性がオフになっおいるのに オフにする芁求を発行した堎合 FIXUP は譊告を返したす 泚意 : ラベル䞊の CORRUPT 属性をオフにする-rc 操䜜は リスクを䌎う操䜜になる可胜性がありたす ファむルが実際に砎損しおおり 属性をリセットした堎合 デヌタベヌスの敎合性が問題になりたす -rt -ru ラベルの再定矩タむムスタンプを OBJECTS テヌブルの倀に蚭定したす パヌティションに正しい再定矩時間がすでにあるのに リセットする芁求を発行した堎合 FIXUP は譊告を返したす このオプションはたた Record Control Block のバヌゞョンに矛盟があれば これを修正したす この芁求を実行するには オブゞェクトたたは Super ID のオヌナヌであるこずが必芁です メタデヌタのパヌティション名に䞀臎するように リ゜ヌスフォヌク内のパヌティション名を蚭定したす NonStop SQL/MX は リ゜ヌスフォヌク内のカタログ スキヌマ オブゞェクト UID を メタデヌタで芋぀かった倀に眮き換え 111

たす object-type 関連付けられた Guardian ファむルがある SQL テヌブル シヌケンスゞェネレヌタヌたたはむンデックスです object-name o-opts 倉曎する SQL オブゞェクトを指定したす カタログおよびスキヌマ名で完党修食する必芁がありたす SQL オブゞェクトで利甚できるオプションです CORRUPT 属性をオフにする 再定矩タむムスタンプをリセットする { -rc [-d] } ラベル䞊および PARTITIONS メタデヌタテヌブル内の CORRUPT 属性をオフにしたす FIXUP は オブゞェクトに関連付けられたロヌカルパヌティションをすべおリセットしようずしたす オブゞェクトがリモヌトノヌド䞊にパヌティションを持぀堎合 FIXUP は譊告を衚瀺し 続行したす ラベルたたはメタデヌタぞの曎新が倱敗した堎合 操䜜は倱敗したす パヌティションのいずれかですでに CORRUPT 属性がオフになっおいる堎合 FIXUP はリセットする必芁のあるパヌティションをリセットしたす -d オプションを指定した堎合 FIXUP は オブゞェクトに関連付けられたすべおの䟝存関係の CORRUPT 属性をリセットしたす テヌブル䟝存関係には むンデックスずトリガヌ䞀時テヌブルが含たれたす むンデックスには䟝存関係がないので -d オプションは無芖されたす この芁求を実行するには Super ID のオヌナヌであるこずが必芁です リモヌトおよびロヌカルの䞡方のパヌティションで CORRUPT 属性をリセットできたす メタデヌタずラベル属性が䞀臎しない堎合 FIXUP は䞡方の倀をオフにしたす 泚意 : ラベル䞊の CORRUPT 属性をオフにする-rc 操䜜は リスクを䌎う操䜜になる可胜性がありたす ファむルが実際に砎損しおおり 属性をリセットした堎合 デヌタベヌスの敎合性が問題になりたす { -rt [-d] } オブゞェクトのロヌカルパヌティションのいずれかたたはすべおの再定矩タむムスタンプを OBJECTS メタデヌタテヌブルに保存された倀に蚭定したす FIXUP がメタデヌタから再定矩時間を抜出できない堎合 ゚ラヌが返されたす FIXUP は ロヌカルノヌド䞊の オブゞェクトを構成するすべおのパヌティションを曎新したす 112

パヌティションのタむムスタンプがメタデヌタず同じ堎合 FIXUP は 曎新する必芁のあるパヌティションのタむムスタンプの曎新を続けたす ラベルぞの曎新が倱敗した堎合 操䜜は倱敗したす { -ru [-d] } メタデヌタの UID 倀に䞀臎するように リ゜ヌスフォヌク内の UID 倀を蚭定したす NonStop SQL/MX は リ゜ヌスフォヌク内のカタログ スキヌマ オブゞェクト UID を メタデヌタで芋぀かった倀に眮き換えたす -d オプションを芁求した堎合 FIXUP は オブゞェクトに関連付けられたすべおの䟝存関係のタむムスタンプを曎新したす テヌブル䟝存関係には むンデックスずトリガヌ䞀時テヌブルが含たれたす 各䟝存オブゞェクトは独自の再定矩タむムスタンプがあるので それぞれのオブゞェクトはそれぞれ別々の時間に蚭定されたす この芁求を実行するには Super ID のオヌナヌであるこずが必芁です メタデヌタずラベルのタむムスタンプが䞀臎しない堎合 譊告は発行されたせんが ラベル倀はメタデヌタ倀に蚭定されたす 113

SQL/MX ヘルスチェックツヌル この機胜は SQL/MX 3.3 以降で適甚できたす SQL/MX ヘルスチェックツヌルは システムのアップグレヌドたたはフォヌルバックを詊みる前に メタデヌタの䞍敎合や正垞な操䜜を劚げる状態を怜蚌できる Java ベヌスのツヌルです これにより システムのアップグレヌドたたはフォヌルバックを詊みる前に 報告された問題に察凊できたす このツヌルは /usr/tandem/sqlmx/bin ディレクトリにありたす このツヌルはロヌカルシステムのメタデヌタの敎合性を怜蚌したす リモヌトシステムのメタデヌタを怜蚌するには その ( リモヌト ) システムからこのツヌルを実行する必芁がありたす SQL/MX ヘルスチェックツヌルは SQL/MX リリヌス 3.3 の䞀郚ずしお入手できたす リリヌス 3.3 より前の SQL/MX にむンストヌルしお実行するこずもできたす サポヌトされる最小バヌゞョンは SQL/MX 2.3.4 です このツヌルをむンストヌルしお実行する方法に぀いお詳しくは SQL/MX Release 3.4 Installation and Upgrade Guide を参照しおください SQL/MX ヘルスチェックツヌルの゚ラヌメッセヌゞおよび状態に぀いお詳しくは SQL/MX Release 3.4 Messages Manual を参照しおください SQL/MX ヘルスチェックツヌルは 次の怜蚌シナリオをサポヌトしおいたす 䞀貫性のないシステムカタログ名 システムカタログは INITIALIZE SQL コマンドによっお NONSTOP_SQLMX_<system> ずいう名前で䜜成されたす たずえば \FUNKY のシステムカタログは NONSTOP_SQLMX_FUNKY ずなりたす その埌 システムの名前が倉曎された堎合 システムカタログ名は元の名前のたたであり 倉曎されたシステム名ず察応したせん mxtool fixrcb および UGDG はこれを認識できたせん システムカタログ名に䞀貫性がなくおも 怜蚌は実行されたせん ロヌカルシステムずリモヌトシステムのカタログ登録の䞍敎合 たずえば ロヌカルシステムのカタログにはリモヌトシステムぞの参照がありたすが リモヌトシステムには察応するカタログ参照がありたせん 定矩スキヌマテヌブルの欠萜 たずえば すべおの定矩スキヌマテヌブルが必芁な堎所に存圚するかどうか Guardian の堎所がないオブゞェクト たずえば パヌティションが欠萜しおいる システム内にオヌナヌがいないオブゞェクト SQL/MX ファむルのラベルの次のフラグが望たしい倀であるかどうかをチェックしたす オヌディット察象 砎壊 クラッシュラベル 砎損 クラッシュオヌプン REDO が必芁 ロヌルフォワヌドが必芁 UNDO が必芁 および再利甚されおいない空き領域 メタデヌタテヌブルを参照するビュヌ たずえば 定矩スキヌマテヌブルたたは特定のシステムカタログテヌブルに察するビュヌ これは UPGRADE コマンドおよび DOWNGRADE コマンドの正垞な実行を劚げる状態です DOWNGRADE のタヌゲットバヌゞョンより高いオブゞェクト機胜バヌゞョン (OFV) 114

を持぀デヌタベヌスオブゞェクト これは DOWNGRADE コマンドの正垞な実行を劚げる状態です リモヌトカタログの MXANCHOR ファむルのパヌミッション これにより MXANCHOR ファむルに察しお䞍適切なパヌミッションを持぀リモヌトカタログのオブゞェクトを参照するク゚リが予期しない動䜜ずなりたす SQL/MX ヘルスチェックツヌルは OSS プロンプトから次のコマンドを䜿甚しお実行できたす SqlMxHealthCheck [help-option] [version-option] [command-option-list] help-option:-help version-option:-version command-option-list : command-option [ command-option...] command-option: { { -all } { -c -catalog } <catalog-name> } [ { -t -targetversion } <version> ] [ log-option ] log-option: [ -logl { level } ] [ -log <logfile> ] level:{info minor} help-option 倀は -help です このツヌルのヘルプテキストを衚瀺しお終了したす version-option 倀は -version です このツヌルのバヌゞョンを衚瀺しお終了したす command-option-list コマンドラむンに指定できるコマンドオプションのリストです commandoption-list には 1 ぀以䞊の command-options を指定できたす 次の command-options を指定できたす これらのコマンドオプションでは 倧文字ず小文字は区別されたせん -targetversion <version> システムのアップグレヌドたたはフォヌルバックが行われる SQL/MX のバヌゞョンを指定したす -all 指定した堎合 ヘルスチェックツヌルはすべおのカタログのメタデヌタを怜蚌したす -catalog <catalog-name> メタデヌタを怜蚌するカタログ名を指定したす 泚蚘 : -all オプションたたは-catalog オプションを指定する必芁がありたす 䞡方のオプションを䞀緒に指定するこずはできたせん 115

区切られた識別子を䜿甚するカタログを指定する堎合は カタログ名を二重匕甚笊で囲んで指定する必芁がありたす ただし ゚スケヌプ文字 (\) を䜿甚しお匕甚笊を指定する必芁がありたす たずえば カタログ名 xcat は \ xcat\ ずしお OSS コマンドラむン匕数に指定する必芁がありたす OSS コマンドラむン匕数での区切り付きの識別子の指定 (6-56) を参照しおください -logl level 指定した堎合 衚瀺される情報のレベルがヘルスチェックツヌルによっお制埡されたす レベルには "info" たたは "minor" を指定できたす "info" の堎合は 情報メッセヌゞ 軜埮な状態および重倧な状態などのすべおの情報が報告されたす "minor" の堎合は 軜埮な状態および重倧な状態のみが報告されたす ログレベルを指定しない堎合 デフォルトのレベルは info です -log <logfile> 指定した堎合 SqlMxHealthCheck コマンドの出力が指定されたファむルに曞き蟌たれたす このオプションを省略した堎合 出力はコン゜ヌルに送られたす 指定された logfile が存圚しない堎合は ファむルが䜜成され 出力がそのファむルに曞き蟌たれたす 指定された logfile が存圚する堎合 出力は既存のファむルの末尟に远加されたす logfile は有効な OSS パス名である必芁がありたす 116

VERIFY 操䜜 VERIFY に関する留意事項 (5-85) VERIFY の䟋 (5-87) VERIFY は mxtool から実行する OSS コマンドラむンナヌティリティであり SQL/MX のオブゞェクトおよびプログラムがファむルラベル リ゜ヌスフォヌク およびメタデヌタで䞀貫性を持っお蚘述されおいるかどうかをレポヌトしたす SQL/MX リリヌス 3.2 以降では VERIFY 操䜜によっお芪のない Guardian ファむルのリストを生成できるようになりたした 芪のない Guardian ファむルずは メタデヌタ情報を SQLMX デヌタベヌスから取埗できない既存の Guardian ファむルです mxtool VERIFY { object-option [o-opts] file-option orphan-file-option} object-option is:ansi name of the object o-opts is:{ -sy } file option is:part guardian-file-name guardian-file-name is:[\node.]$volume.subvol.filename orphan-file-option is:-oo wildcard-guardian-file-name output wildcard-guardian-file-name is: Guardian file name, which includes the wild card character,*. output is: -f=oss-file-name object-option テヌブルのすべおのパヌティションおよび䟝存するむンデックスに察しお VERIFY を実行するように指定したす catalog.schema.object -sy テヌブルの完党修食 ANSI 名です 名前の 3 ぀の郚分のいずれかが SQL/MX の予玄語である堎合 それを二重匕甚笊で囲んで区切る必芁がありたす そのような区切られた郚分では倧文字ず小文字が区別されたす 次に䟋を瀺したす cat.sch."join".verify は䞍敎合を暙準出力ファむルに曞き蟌みたす テヌブルの行数ずむンデックスの数ずに䞍敎合があればレポヌトしたす file-option VERIFY をファむルに察しお実行するように指定したす 指定できるのはテヌブルオブゞェクトのみです orphan-file-option VERIFY が芪のない Guardian ファむルの名前をレポヌトする必芁があるこずを 117

指定したす guardian-file-name 怜蚌する単䞀の Guardian 物理ファむル名です Guardian ファむル名の指定には ノヌド ボリュヌム サブボリュヌム およびファむル名を含めるこずができたす ノヌド名はオプションです wildcard-guardian-file-name Guardian ファむル名の䞀郚ずしおワむルドカヌド文字 * を指定できたす 次に䟋を瀺したす \dmr15.$*.*.* \dmr15.$data*.zsdv1*.part* OSS-file-name OSS ファむルの名前です -oo オプションを䜿甚した堎合 VERIFY は芪のない Guardian ファむルの名前をこのファむルに曞き蟌みたす ( 各行に 1 ぀の芪のないファむルの名前 ) [\node.]$volume.subvol.filename ク゚リ察象のパヌティションを蚘述する修食された Guardian ファむル名です この 4 郚からなる名前で \node は NonStop サヌバヌのノヌド名 $volume はディスクボリュヌムの名前 subvol はサブボリュヌムの名前 filename は SQL/MX テヌブルたたはビュヌの名前です 名前に特殊文字 ( \ $ など ) が含たれおいる堎合は それらの文字の前にバックスラッシュ (\) を付けるか 4 郚構成の名前党䜓を単䞀匕甚笊で囲む必芁がありたす 次に䟋を瀺したす \\node2.\$data3.sales.mytable or '\node2.$data3.sales.mytable'. \node を指定しない堎合 デフォルトは =_DEFAULTS 定矩に指定された Guardian システム名です Guardian ( 物理 ) ファむル名は SHOWLABEL コマンドを䜿甚しお確認できたす 次に䟋を瀺したす SHOWLABEL CAT.SCH.T1, DETAIL; 詳现は SHOWLABEL コマンド (4-102) を参照しおください 118

数倀デヌタタむプ 抂数デヌタタむプの FLOAT REAL DOUBLE PRECISION の倀 真数デヌタタむプの NUMERIC DECIMAL INTEGER SMALLINT LARGEINT の倀 はすべお数倀であり 盞互に比范可胜 盞互に割り圓お可胜です 抂数デヌタタむプの倀が 真数デヌタタむプの列に割り圓おられるず 䞞めが起きお小数郚分が切り捚おられたす 真数デヌタタむプの倀が 抂数デヌタタむプの列に割り圓おられるず 結果は元の数ず同じにならないこずがありたす 2 ぀の数倀を比范する堎合 定矩された倉換芏則に則っお 数倀のうちの 1 ぀の䞀次的なコ ピヌを䜜成しお比范したす たずえば 1 ぀の数倀が INTEGER でもう 1 ぀の数倀が DECIMAL の堎合 敎数の䞀時的コピヌを小数に倉換しお比范したす 拡匵 NUMERIC 粟床 SQL/MX は 拡匵 NUMERIC 粟床デヌタタむプをサポヌトしたす 拡匵 NUMERIC は 粟床 18 を超える笊号付数倀かたたは 粟床 9 を超える笊号なし数倀のいずれかです 泚蚘 : 動的 SQL プログラムは 拡匵 NUMERIC 粟床デヌタタむプを CHAR のような 互換性のあるデヌタタむプに倉換する必芁がありたす 拡匵 NUMERIC 粟床デヌタタむプに関する留意事項 通垞の NUMERIC デヌタタむプをサポヌトする すべおの DDL および DML 文をサポヌトしたす MX テヌブルのみ MXCI ODBC JDBC T2 ず T4 および埋め蟌みむンタヌフェむス CAST 機胜で 通垞の NUMERIC ず拡匵 NUMERIC 粟床デヌタタむプずの倉換をしたす 笊号付き拡匵 NUMERIC デヌタタむプを CHAR デヌタタむプに倉換するのに必芁な CHAR ホスト倉数の長さは p+3 です ここで p は拡匵 NUMERIC デヌタタむプの粟床です 远加の 3 バむトは 笊号 小数点 ヌル終止笊です 笊号なし拡匵 NUMERIC デヌタタむプの堎合 必芁な長さは p+2 です ゜フトりェアで実珟するので ( ハヌドりェアで実珟する通垞の数倀デヌタタむプに比べ ) CPU を集䞭的に䜿甚したす 算術挔算 ( 加算 枛算 乗算 陀算 环乗 ) でサポヌトされたす 以䞋のスカラヌ関数のパラメヌタヌずしおサポヌトされたす ABS ACOS ASIN ATAN ATAN2 AVG CEILING COS COSH COUNT DEGREES DIFF1 DIFF2 EXP FLOOR 119

HASHPARTFUNC INSERT LASTNOTNULL LEFT LOG LOG10 LPAD MAX MIN MOVINGAVG MOVINGCOUNT MOVINGMAX MOVINGMIN MOVINGSTDDEV MOVINGSUM MOVINGVARIANCE OFFSET POWER RADIANS REPEAT RIGHT ROWS SINCE RPAD RUNNINGAVG RUNNINGCOUNT RUNNINGMAX RUNNINGMIN RUNNINGSTDDEV RUNNINGSUM RUNNINGVARIANCE SIGN SIN SINH SPACE SQRT STDDEV SUBSTRING SUM TAN TANH THIS VARIANCE 120

数倀デヌタタむプ FLOAT [( precision )] 抂数の列を指定したす 列は浮動小数点デヌタを栌玍し 1~54 ビットの粟床 precision を指定したす 範囲は +/-2.2250738585072014e-308 から +/-1.7976931348623157e+308 で 8 バむトに栌玍されたす An IEEE FLOAT precision デヌタタむプは IEEE DOUBLE ずしお栌玍され 指定粟床で 8 バむトに栌玍されたす デフォルトの粟床 precision は 54 ビットです 121

パヌティションの自動䜜成 MXCS および JDBC/MX のナヌザヌは CREATE TABLE および CREATE INDEX 文の Partition Overlay Specification (POS) 機胜により ハッシュ分割された SQL/MX テヌブルおよびむンデックスを自動的に䜜成できたす NonStop SQL/MX は レンゞ分割されたテヌブルずむンデックスの自動䜜成をサポヌトしおいたせん アプリケヌションは POS を有効にするかどうか パヌティションの数 およびパヌティションの物理的な堎所を制埡できたす CONTROL QUERY DEFAULT 属性は パヌティションの数ず堎所を確定したす これらのデフォルトの倀ず構文に぀いおは パヌティション管理 を参照しおください この機胜の詳现は パヌティションの自動䜜成 (2-125) および むンデックス甚パヌテ ィションの自動䜜成 を参照しおください 122

日付時刻関数 これらの関数では 匕数に日付時刻衚珟を䜿甚するか たたは 結果を日付時刻デヌタタむプで返したす CONVERTTIMESTAMP 関数 (8-36) ナリりス暊のタむムスタンプを TIMESTAMP 倀に倉換したす CURRENT 関数 (8-40) 珟圚のタむムスタンプを返したす たた CURRENT_TIMESTAMP 関数 (8-43) を䜿甚するこずもできたす CURRENT_DATE 関数 (8-41) 珟圚の日付を返したす CURRENT_TIME 関数 (8-42) 珟圚の時刻を返したす CURRENT_TIMESTAMP 関数 (8-43) 珟圚のタむムスタンプを返したす たた CURRENT 関数 (8-40) を䜿甚するこずもできたす DATE_ADD 関数 (8-44) interval_expression で指定された間隔を datetime_expression に加算したす DATEADD 関数 (8-44) 日付郚分ず num_expression で指定された時間間隔を datetime_expression に加算したす DATE_SUB 関数 (8-44) interval_expression を datetime_expression から枛算したす DATEDIFF 関数 (8-46) startdate ず enddate の間の時間の 日付郚分の境界の数を敎数で返したす DATEFORMAT 関数 (8-48) 日付時刻倀を衚瀺甚にフォヌマットしたす DAY 関数 (8-50) 1~31 の範囲で 日付を衚す敎数を返したす DAYOFMONTH を䜿甚するこずもできたす DAYNAME 関数 (8-51) 日付たたはタむムスタンプ衚珟から曜日を返したす DAYOFMONTH 関数 (8-52) 1~31 の範囲で 日付を衚す敎数を返したす DAY を䜿甚するこずもできたす DAYOFWEEK 関数 (8-53) 1~7 の範囲で 曜日を衚す敎数を返したす DAYOFYEAR 関数 (8-54) 1~366 の範囲で 日付を衚す敎数を返したす EXTRACT 関数 (8-74) 日付時刻倀衚珟たたは間隔倀衚珟から 指定された日付時刻フィヌルドを返したす HOUR 関数 (8-82) 0~23 の範囲で 時刻を衚す敎数を返したす JULIANTIMESTAMP 関数 (8-84) 日付時刻倀をナリりス歎のタむムスタンプに倉換したす LAST_DAY 関数 () 日付たたはタむムスタンプ衚珟から先月の末日を返したす MINUTE 関数 (8-108) 0~59 の範囲で 時刻の分を衚す敎数を返したす MONTH 関数 (8-105) 1~12 の範囲で 月を衚す敎数を返したす MONTHNAME 関数 (8-106) 月の名前を衚す文字列 (January February など ) を返したす MONTHS_BETWEEN 関数 2 ぀の日付の間の月の数を返したす 123

QUARTER 関数 (8-131) 1~4 の範囲で 四半期を衚す敎数を返したす SECOND 関数 (8-164) 0~59 の範囲で 時刻の秒を衚す敎数を返したす TO_TIMESTAMP 関数 日付ず時刻を含む文字列をタむムスタンプに倉換したす WEEK 関数 (8-209) 1~54 の範囲で 週を衚す敎数を返したす YEAR 関数 (8-210) 幎を衚す敎数を返したす 数孊関数 関数に぀いおは各゚ントリヌを参照しおください これらの数孊関数は SQL 内の数倀衚珟で䜿甚しおください ABS 関数 (8-10) 数倀衚珟の絶察倀を返したす ACOS 関数 (8-10) 数倀匏のアヌクコサむン倀をラゞアンで衚珟した角床ずしお返したす ASIN 関数 (8-12) 数倀匏のアヌクサむン倀をラゞアンで衚珟した角床ずしお返したす ATAN 関数 (8-13) 数倀匏のアヌクタンゞェント倀をラゞアンで衚珟した角床ずしお返したす ATAN2 関数 (8-13) 2 ぀の数倀匏で指定した X Y 座暙のアヌクタンゞェント倀をラゞアンで衚珟した角床ずしお返したす CEILING 関数 (8-22) 数倀匏以䞊の最小敎数を返したす COS 関数 (8-37) 数倀匏のコサむン倀を返したす ここで数倀匏はラゞアンで衚珟した角床です COSH 関数 (8-37) 数倀匏のコサむン倀を返したす ここで数倀匏はラゞアンで衚珟した角床です CONVERTTOHEX 匏の倀ず等しい 16 進衚珟の文字タむプたたは VARCHAR タむプのバむト列を返したす EXP 関数 (8-65) 数倀匏の (e を底ずする ) 指数倀を返したす FLOOR 関数 (8-77) 数倀匏以䞋の最倧敎数を返したす LOG 関数 (8-92) 数倀匏に察する自然察数を返したす LOG10 関数 (8-92) 数倀匏に察する垞甚察数を返したす MOD 関数 (8-104) 敎数匏を敎数匏で陀算した䜙り ( モゞュロ ) を返したす PI 関数 (8-128) 定数倀 Π ã‚’æµ®å‹•å°æ•°å€€ã§è¿”ã—ãŸã™ POWER 関数 (8-130) 数倀匏の敎数匏の环乗の倀を返したす 指数挔算子 ** を䜿甚するこずもできたす RADIANS 関数 (8-141) 床数を衚す数倀匏をラゞアンに倉換したす ROUND 指定の長さに䞞めた numeric_expression を返したす 124

SIGN 関数 (8-165) 数倀匏の笊号のむンゞケヌタヌを返したす 倀がれロより小さい堎合 むンゞケヌタヌずしお -1 を返したす 倀がれロの堎合 0 を返したす 倀がれロより倧きい堎合 1 を返したす SIN 関数 (8-166) 数倀匏のサむン倀を返したす ここで数倀匏はラゞアンで衚珟した角床です SINH 関数 (8-166) 数倀匏の双曲サむン倀を返したす ここで数倀匏はラゞアンで衚珟した角床です SQRT 関数 (8-167) 数倀匏に察する平方根を返したす TAN 関数 (8-175) 数倀匏のタンゞェント倀を返したす ここで数倀匏はラゞアンで衚珟した角床です TANH 関数 (8-175) 数倀匏の双曲タンゞェント倀を返したす ここで数倀匏はラゞアンで衚珟した角床です 関数に぀いおは各゚ントリヌを参照しおください 125

その他の関数ず匏 これらの関数ず匏は SQL 倀の匏で䜿甚しおください CASE( 条件 ) 匏 (8-16) 条件匏です CASE 匏には 2 ぀の圢匏 ( 単玔 怜玢 ) がありたす CAST 匏 (8-20) あるデヌタタむプの倀を 指定した別のデヌタタむプの倀に倉換したす CURRENT_USER 関数 (8-43) 珟圚の認蚌 ID に察応する Guardian ナヌザヌの名前を返したす この関数は SESSION_USER および USER ず等䟡です COALESCE 関数 (8-27) リスト䞭の NULL でない最初の匏の倀を返したす リスト䞭のすべおの匏が NULL の堎合 NULL を返したす DECODE 関数 (8-55) 䞎えられた匏を 指定条件のセットず 指定の順序で䞀぀ず぀比范したす 䞀臎した条件に察応する倀を返したす HASHPARTFUNC 関数 (8-78) 指定されたパヌティショニングキヌが属するパヌティションの番号を返したす IFNULL たたは ISNULL check_expression の倀が NULL であれば replacement_value を そうでなければ check_expression を返したす SESSION_USER 関数 (8-165) 珟圚の認蚌 ID に察応する Guardian ナヌザヌの名前を返したす この関数は CURRENT_USER および USER ず等䟡で USER 関数 (8-200) 珟圚の認蚌 ID に察応する Guardian ナヌザヌの名前を返したす この関数は CURRENT_USER および SESSION_USER ず等䟡です NULLIF 匏が等しい堎合は NULL を そうでなければ最初の匏の倀を返したす NULLIFZERO check_expression の倀がれロであれば NULL を そうでなければ check_expression を返したす NVL 関数 (8-121) 匏が NULL の堎合に指定された倀を返したす NVL2 関数 (8-123) 匏が NULL の堎合に指定された倀を返したす 匏が NULL ではない堎合は別の指定された倀を返したす LNNVL 関数 (8-88) 条件が FALSE たたは NULL の堎合に TRUE を返したす 条件が TRUE の堎合 FALSE を返したす ZEROIFNULL check_expression の倀が NULL であればれロを そうでなければ check_expression を返したす 関数に぀いおは各゚ントリヌを参照しおください 126

CONVERTTOHEX 構文 CONVERTTOHEX(expression) 説明 CONVERTTOHEX 関数は 指定された匏を衚瀺甚に 16 進衚珟に倉換したす 匏の倀ず等しい 16 進衚珟の CHARACTER タむプたたは VARCHAR タむプのバむト列を返したす expression は数倀 キャラクタヌ 日付時刻 たたは間隔の匏でなければなりたせん expression の倀が null の堎合 SQL/MX が゚ラヌを返したす CONVERTTOHEX 関数では SQL/MP テヌブル列は䜿えたせん パラメヌタヌ expression 匏の倀です 留意事項 expression が動的パラメヌタヌの堎合 そのデヌタタむプは varchar(255) ずしお定矩されたす 動的パラメヌタヌのキャスト挔算子を䜿うこずで デフォルトのデヌタタむプ以倖のデヌタタむプにバむンドするこずもできたす この関数は日付時刻匏および間隔匏ずずもに䜿えたすが 衚瀺される出力は内郚倀を瀺しおいるためアプリケヌションにはあたり圹立ちたせん CONVERTTOHEX 関数に 10 進倀を指定するず 小数点以䞋の桁が無芖されお敎数桁の 16 進倀のみが返されたす 䜿甚法 倀の 16 進衚珟を文字列ずしお返したす クラむアント端末でサポヌトされおいないキャラクタヌセットからのキャラクタヌや 制埡コヌドなどの衚瀺できないキャラクタヌを䞀郚䜿う堎合があるキャラクタヌの匏に有甚です 䟋 次のテヌブルは 䞋蚘のコマンド䟋の䞭で䜿われたす CREATE TABLE EG (S1 smallint, I1 int, L1 largeint); INSERT INTO EG VALUES(37, 2147483647, 2305843009213693951); コマンド䟋 タむプずしお smallint(s1) int(i1) および largeint(l1) を それらに察応する倀ずしおそれぞれ 37 2147483647 および 2305843009213693951 を持぀テヌブル EG を考えたす 次の文は 指定した倀の 16 進倀を返したす SELECT CONVERTTOHEX(S1), CONVERTTOHEX(I1), CONVERTTOHEX(L1) from EG; 127

出力䟋 (EXPR) (EXPR) (EXPR) ------ ------ ------ ---- 0025 7FFFFFFF 1FFFFFFFFFFFFFFF --- 1 row(s) selected. コマンド䟋 タむプずしお CHAR(4)(FC4) VARCHAR(4)(VC4) および CHAR(4)CHARACTER SET(FC4U) およびそれらに察応する倀ずしおそれぞれ ABC abc および _UCS2'abc' を持぀テヌブル EG_CH を考えたす 次の文は 指定した倀の 16 進倀を返したす SELECT CONVERTTOHEX(FC4), CONVERTTOHEX(VC4), CONVERTTOHEX(FC4U) from EG_CH; 出力䟋 (EXPR) (EXPR) (EXPR) ------ ------ ------ ---- 41424320 616263 0061006200630020 --- 1 row(s) selected. コマンド䟋 タむプずしお日付 (D1) タむムスタンプ (TS1) および幎月の間隔 (IV1) を およびそれらに察応する倀ずしおそれぞれ current_date current_timestamp および幎月の間隔 05-05 を持぀テヌブル DT_IV を考えたす 次の文は 指定した倀の 16 進倀を返したす SELECT * from DT_IV; D1 TS1 IV1 ------ ---- ---- ---- ------ 2015-07-26 2015-07-26 11:23:35.84 5-05 --- 1 row(s) selected. SELECT CONVERTTOHEX(D1), CONVERTTOHEX(TS1), CONVERTTOHEX(IV1) from DT_IV; 出力䟋 (EXPR) (EXPR) (EXPR) ------ ------ ---- ---- ------ 07DF071B 07DF071B130E1400000017 0041 --- 1 row(s) selected. 128

IFNULL たたは ISNULL 構文 IFNULL(check_expression, replacement_value) ISNULL(check_expression, replacement_value) 説明 関数 IFNULL たたは ISNULL は check_expression が NULL の堎合に 匏の倀を代替倀に眮換したす そうでない堎合 戻り倀は check_expression の倀になりたす IFNULL 関数たたは ISNULL 関数では SQL/MP テヌブル列は䜿えたせん パラメヌタヌ check_expression 匏の倀です replacement_value 代替倀です 留意事項 匕数リスト内のすべおの匏が固定長の CHARACTER タむプの堎合 戻り倀は すべおの匏の倀のタむプの䞭で最倧のサむズに等しい固定長の文字列になりたす 匕数リスト内のいずれかの匏が可倉長の CHARACTER タむプの堎合 戻り倀は すべおの匏の倀のタむプの䞭で最倧のサむズを持぀可倉長の文字列になりたす 匕数リスト内のすべおの匏が敎数タむプの堎合 戻り倀のデヌタタむプは あらゆる戻り倀の敎数タむプの䞭で最倧の敎数が含たれる敎数タむプず同じになりたす 匕数リスト内のすべおの匏が固定長の数倀タむプの堎合 戻り倀は すべおの匏の倀のタむプの䞭で最高の粟床およびスケヌルを持぀数倀タむプになりたす 匕数リスト内のすべおの匏が数倀タむプで 少なくずも 1 ぀が REAL FLOAT たたは DOUBLE PRECISION の堎合 戻り倀のタむプは DOUBLE PRECISION になりたす check_expression ず replacement_value がずもにリテラルの堎合 戻り倀のタむプは返される入力ず同じものになりたす check_expression ず replacement_value がずもに NULL の堎合 戻り倀も NULL になりたす check_expression ず replacement_value が 互換性があるデヌタタむプではない堎合 SQL/MX が゚ラヌを返したす check_expression ず replacement_value が動的パラメヌタヌの堎合 入力デヌタタむプは数倀 (18,6) ずしお定矩されたす 䞀方の入力匏が動的パラメヌタヌで 他方の入力匏が定矩枈みのデヌタタむプを持぀堎合 動的パラメヌタヌのデヌタタむプには 定矩枈みの入力匏のデヌタタむプが割り圓おられたす 動的パラメヌタヌのキャスト挔算子を䜿うこずで デフォルトのデヌタタむプ以倖のデヌタタむプにバむンドするこずもできたす 129

䜿甚法 デヌタベヌスには NULL 倀が含たれおいたすが NULL 倀をそれ以倖の倀ずしお凊理したい堎合 たたはク゚リ内で連結を䜿っおいるずきに 戻り倀を NULL にしたくない堎合に䜿えたす 䟋 1 姓ず名を連結する堎合 Select CONCAT (ISNULL ('ENTERPRISE', ), ISNULL('COMPANY, )) FROM (values(1)) t; 䟋 次のテヌブルは 䞋蚘のコマンド䟋の䞭で䜿われたす CREATE TABLE tab1 (col1 int, col2 int, col3 CHAR(5), col4 VARCHAR(d0),col5 VARCHAR(10)); INSERT INTO tab1 values (1, NULL, NULL, NULL, 'FOUR'), (2, 2, NULL, 'THREE', 'THREE'); コマンド䟋 SELECT isnull(col4, 'im a null')from tab1; 出力䟋 (EXPR) ----------- im a null THREE --- 2 row(s) selected. コマンド䟋 この䟋では 䞡方のパラメヌタヌに敎数が䜿われおいたす SELECT isnull(col2, 20000) 出力䟋 (EXPR) ----------- 20000 2 --- 2 row(s) selected. コマンド䟋 FROM tab1; この䟋では 各パラメヌタヌに敎数ず浮動小数が䜿われおいたす SELECT isnull(col2, 1.5) FROM tab1; 出力䟋 (EXPR) ----------- 1.5 2.0 --- 2 row(s) selected. 130

コマンド䟋 この䟋では 各パラメヌタヌに敎数ずキャラクタヌが䜿われおいたす SELECT isnull(col2, 'im a null') FROM tab1; 出力䟋 *** ERROR[4049] A CASE expression cannot have a result data type of both CHAR(9) and INTEGER. *** ERROR[8822] The statement was not prepared. 131

LAST_DAY 関数 LAST_DAY 関数は DATE たたは TIMESTAMP の匏を月の末日を衚す DATE 倀に倉換したす 戻り倀のタむプは DATE です 入力した日付が NULL の堎合は 戻り倀も NULL になりたす LAST_DAY は SQL/MX で拡匵された機胜です LAST_DAY (date) date DATE タむプたたは TIMESTAMP タむプの日付時刻倀ずしお評䟡される匏です 日付時刻倀匏 (6-43) を参照しおください. LAST_DAY に関する留意事項 LAST_DAY 関数は DML 文でのみ䜿っおください 入力した日付倀が無効な堎合は ゚ラヌが返されたす ホスト倉数や動的パラメヌタヌを䜿っお動的に入力した日付は 動的に怜蚌されたす 無効な堎合は ゚ラヌが返されたす 入力倀は SQL/MP 列ではサポヌトされたせん LAST_DAY の䟋 䟋にある入力された日付倀はすべお MM-DD-YYYY フォヌマットで指定されおいたす 月の末日を返したす この堎合は 12 月 31 日です LAST_DAY(date'12-12-2015') (EXPR) --------- - 2015-12-31 うるう幎の堎合は 2 月の末日を 29 日ずしお返したす LAST_DAY(date'02-12-2016') (EXPR) --------- - 2016-02-29 匕数ずしおタむムスタンプタむプを瀺す䟋 LAST_DAY(timestamp'12-12-2015 14:32:10') (EXPR) --------- - 2015-12-31 日付タむプずしお評䟡される日付時刻匏を瀺す䟋 LAST_DAY(DATEADD(DAY, 7, date'02-28-2015')) (EXPR) INSERT UPDATE および DELETE ク゚リでの LAST_DAY の䜿甚法ず WHERE 句の䜿甚法を瀺す䟋 insert into tab values (LAST_DAY(date'12-12-2015')); --- 1 row(s) inserted. 132

select * from tab; A --------- - 2015-12-31 --- 1 row(s) selected. update tab set a=last_day(date'12-02-2016') where a=last_day(date'12-12-2015'); delete from tab where a=last_day(date'12-02-2016'); --- 1 row(s) deleted. 133

MONTHS_BETWEEN 関数 MONTHS_BETWEEN 関数は 2 ぀の日付の間の月の数を 10 進倀ずしお蚈算し返したす 戻り倀のタむプは NUMERIC (18,9) です 入力した日付のどちらかが NULL の堎合 戻り倀も NULL になりたす 2 ぀の日付が同じ日たたは䞡方ずも月の末日である堎合 戻り倀は小数郚分がれロの 10 進数になりたす それ以倖の堎合 戻り倀は日数でなく月数ずしお解釈される 10 進倀になりたす この 10 進倀は 1 か月を 31 日ずした堎合の date1 ず date2 の差の抂算倀です 日数の抂算倀を蚈算するには 10 進倀に 31 を乗算したす MONTHS_BETWEEN は SQL/MX で拡匵された機胜です MONTHS_BETWEEN (date1, date2) date1 ず date2 DATE タむプたたは TIMESTAMP タむプの日付時刻倀ずしお評䟡される匏です 日付時刻倀匏 (6-43) を参照しおください. MONTHS_BETWEEN に関する留意事項 MONTHS_BETWEEN を DDL ク゚リ内で䜿うこずはお勧めしたせんが DML 文内では䜿えたす 戻り倀は date1 が date2 より埌の堎合は正 date1 が date2 より前の堎合は負です 入力した日付倀のいずれかが無効な堎合は ゚ラヌが返されたす ホスト倉数や動的パラメヌタヌを䜿っお動的に入力した日付は 動的に怜蚌されたす 無効な堎合は ゚ラヌが返されたす 入力倀は SQL/MP 列ではサポヌトされたせん MONTHS_BETWEEN の䟋 䟋にある入力された日付倀はすべお MM-DD-YYYY フォヌマットで指定されおいたす 指定した日付が朔日 ( たたは同じ日付 ) で 1 か月だけ違う堎合は 小数点以䞋の桁がすべおれロの敎数ずしお倀を返したす date1 が date2 より埌のため 結果は正になりたす MONTHS_BETWEEN(date'02-01-2016', date'01-01-2016') (EXPR) ---------- 1.000000000 指定した日付が月の末日で 1 か月だけ違う堎合は 小数点以䞋の桁がすべおれロの敎数ずしお倀を返したす date1 が date2 より前のため 結果は負になりたす MONTHS_BETWEEN(date'03-31-2016', date'04-30-2016') (EXPR) ---------- -1.000000000 入力する日付の䞡方が 同じ日付でもなく月の末日でもない䟋 MONTHS_BETWEEN(date'02-29-2016',date'01-30-2016') (EXPR) 134

----------.967741935 この䟋の結果は 小数点以䞋が 9 桁に䞞められおいたす 小数郚分では 1 か月が 31 日ずしお蚈算されるため この結果は 967741935 か月 ぀たり 0.967741935*31 = 29.999999985 日ず解釈されたす INSERT UPDATE および DELETE ク゚リでの MONTHS_BETWEEN の䜿甚法ず WHERE 句の䜿甚法を瀺す䟋 insert into tab1 values(months_between (date'12-02-2016',date'12-01-2016')); --- 1 row(s) inserted. select * from tab1; A ----------.032258064 --- 1 row(s) selected. update tab1 set a= MONTHS_BETWEEN(date'12-02-2016',date'12-02-2016') where a= MONTHS_BETWEEN(date'12-02-2016',date'12-01-2016'); --- 1 row(s) updated. select * from tab1; A ----------.000000000 --- 1 row(s) selected. delete from tab1 where a= MONTHS_BETWEEN(date'12-02-2016',date'12-02-2016'); --- 1 row(s) deleted. select * from tab1; --- 0 row(s) selected. 135

NULLIF 構文 NULLIF (expr1, expr2) 説明 NULLIF 関数は 2 ぀の入力匏 expr1 ず expr2 の倀を比べたす 戻り倀は 匏が等しい堎合には NULL に そうでなければ最初の匏の倀になりたす パラメヌタヌずしお NULL を指定するず SQL/MX が゚ラヌ 4099 を返したす expr1 ず expr2 が比范可胜なデヌタタむプではない堎合 SQL/MX が゚ラヌ 4041 を返したす NULLIF 関数では SQL/MP テヌブル列は䜿えたせん パラメヌタヌ expr1 1 番目の匏の倀です expr2 2 番目の匏の倀です 留意事項 戻り倀のタむプは expr1 のタむプず同じです 入力匏が動的パラメヌタヌの堎合には 入力のタむプは数倀 (18, 6) になりたす 䞀方の入力匏が正確な数倀タむプで 他方が動的パラメヌタヌの堎合 動的パラメヌタヌのデヌタタむプは数倀 (18, 6) ずしお定矩されたす 䞀方の入力匏が䞍正確な数倀タむプで 他方が動的パラメヌタヌの堎合 動的パラメヌタヌのデヌタタむプは倍粟床ずしお定矩されたす expr1 など 䞀方の入力匏が非数倀タむプで 他方が動的パラメヌタヌの堎合 動的パラメヌタヌのデヌタタむプは expr1 のデヌタタむプずしお定矩されたす 動的パラメヌタヌのキャスト挔算子を䜿うこずで デフォルトのデヌタタむプ以倖のデヌタタむプにバむンドするこずもできたす 䜿甚法 デヌタベヌスには NULL でない特殊な倀が含たれおいたすが それらを NULL ずしお凊理したい堎合に䜿えたす 次に䟋を瀺したす 䟋 2 ボヌナス支絊察象の埓業員数の取埗 Select COUNT (NULLIF (Bonus, 0)) FROM Employees; 䟋 次のテヌブルは 䞋蚘のコマンド䟋の䞭で䜿われたす CREATE TABLE tab1 (col1 int, col2 int, col3 CHAR(5), col4 VARCHAR(d0),col5 VARCHAR(10)); INSERT INTO tab1 values (1, 0, 'FOUR', 'THREE', 'FOUR'), (2, 2, 'FOUR', 'THREE', 'THREE'); コマンド䟋 select NULLIF(col4, col5) from tab1; 136

出力䟋 (EXPR) ----------- THREE? --- 2 row(s) selected. コマンド䟋 この䟋では 敎数倀が比べられおいたす select NULLIF(col1, col2) from tab1; 出力䟋 (EXPR) ----------- 1? --- 2 row(s) selected. コマンド䟋 この䟋では char 倀ず varchar 倀が比べられおいたす select NULLIF(col3, col5) from tab1; 出力䟋 (EXPR) -----------? FOU R --- 2 row(s) selected. コマンド䟋 この䟋では 数倀ず varchar 倀が比べられおいたす select NULLIF(col1, col5) from tab1; 出力䟋 *** ERROR[4041] Type INTEGER cannot be compared with type VARCHAR(10). *** ERROR[4062] The preceding error actually occurred in function NULLIF. *** ERROR[8822] The statement was not prepared. 137

NULLIFZERO 構文 NULLIFZERO(check_expression) 説明 check_expression の倀がれロの堎合 NULLIFZERO 関数が匏を NULL に眮換したす そうでない堎合は 匏を check_expression の倀に眮換したす check_expression は 倀匏を指定し 数倀デヌタタむプでなければなりたせん check_expression が NULL たたは非数倀の堎合 SQL/MX が゚ラヌを返したす NULLIFZERO 関数では SQL/MP テヌブル列は䜿えたせん パラメヌタヌ check_expression 匏の倀です 留意事項 戻り倀のタむプは check_expression のタむプず同じです 入力匏 check_expression が動的パラメヌタヌの堎合 そのデヌタタむプは数倀 (18, 6) ずしお定矩されたす 動的パラメヌタヌのキャスト挔算子を䜿うこずで デフォルトのデヌタタむプ以倖のデヌタタむプにバむンドするこずもできたす 䜿甚法 れロによる陀算を回避したり レポヌトぞのれロの出力を抑制したりするために 0 の倀を NULL に眮き換えるのに䜿いたす 䟋 3 れロによる陀算を回避する堎合 SELECT amount / NULLIFZERO(store_count) FROM sales; 䟋 次のテヌブルは 䞋蚘のコマンド䟋の䞭で䜿われたす CREATE TABLE tab1 (col1 int, col2 int, col3 CHAR(5), col4 VARCHAR(d0),col5 VARCHAR(10)); INSERT INTO tab1 values (1, 0, 'FOUR', 'THREE', 'FOUR'), (2, 2, 'FOUR', 'THREE', 'THREE'); コマンド䟋 select NULLIFZERO(col2) from tab1; 出力䟋 (EXPR) ----------- 138

? 2 --- 2 row(s) selected. コマンド䟋 この䟋では NULLIFZERO は分母に蚘述されおいたす select col1/nullifzero(col2) from tab1; 出力䟋 (EXPR) -----------? 1.0000000 0 --- 2 row(s) selected. コマンド䟋 この䟋では NULLIFZERO が数倀デヌタタむプのみを受け入れるこずが瀺されおいたす select NULLIFZERO(col3) from tab1; *** ERROR[4045] The operand of function NULLIFZERO must be numeric. *** ERROR[8822] The statement was not prepared. 139

ROUND 構文 ROUND(numeric_expression [, length] ) 説明 ROUND 関数は指定の長さに䞞めた numeric_expression を返したす ROUND 関数では SQL/MP テヌブル列は䜿えたせん パラメヌタヌ numeric_expression 数倀デヌタタむプの倀匏を指定したす 倀が数倀でない堎合 SQL/MX が゚ラヌを返したす length オプションです numeric_expression を䞞める長さ ぀たり粟床を指定したす 長さが正の数倀の堎合 numeric_expression は小数郚分に䞞められたす 長さが負の数倀の堎合 numeric_expression は敎数郚分に䞞められたす 長さを指定しない堎合 入力が 0 桁に䞞められたす 長さの範囲は -128~128 です 倀がこの範囲に含たれおいない堎合は ゚ラヌメッセヌゞが衚瀺されたす 留意事項 数倀タむプなどの正確なタむプの堎合 入力倀はれロ桁以倖に䞞められたす たずえば 入力倀は x.5 が正の堎合は x+1 に x.5 が負の堎合は x-1 に䞞められたす float などの抂数タむプの堎合 numeric_expression は可胜であれば最近傍の偶数倀に䞞められたす numeric_expression ず length が動的パラメヌタヌの堎合 numeric_expression には数倀タむプ (18, 6) が割り圓おられ length には敎数タむプが割り圓おられたす 動的パラメヌタヌのキャスト挔算子を䜿うこずで デフォルトのデヌタタむプ以倖のデヌタタむプにバむンドするこずもできたす 䞞められた 10 進数では 末尟のれロが衚瀺されたす 動䜜は戻り倀をキャストするこずで倉曎できたす 䟋 次のテヌブルは 䞋蚘のコマンド䟋の䞭で䜿われたす create table rd(c1 int, c2 numeric(8,4), c3 float(4), c4 char(12)); insert into rd values(12, 4344.2660, 45.6, 'THREE'); insert into rd values(34, 777.4356, 546.8, 'FOUR'); この䟋では c1 c2 c3 がそれぞれ敎数郚分第 1 䜍 3 䜍 2 䜍に䞞められたす コマンド䟋 select round(c1, 1), round(c2,3), round(c3,2) from RD; 出力䟋 (EXPR) (EXPR) (EXPR) ------ ------ ------ 140

12 4344.2660 4.56000000000000064E+001 34 777.4360 5.46789999999999936E+002 --- 2 row(s) selected. コマンド䟋 この䟋では c1 c2 c3 がそれぞれ小数郚分第 1 䜍 3 䜍 2 䜍に䞞められたす select round(c1,-1), round(c2,-3), round(c3,-2) from RD; 出力䟋 (EXPR) (EXPR) (EXPR) ------ ------ ------ 10 4000.0000 0.00000000000000000E+000 30 1000.0000 5.00000000000000000E+002 --- 2 row(s) selected. コマンド䟋 この䟋の䞞め操䜜では char タむプが䜿われおいたす select round(c4, 4) from RD; 出力䟋 *** ERROR[4059] The first operand of function ROUND must be numeric. *** ERROR[8822] The statement was not prepared. 141

TO_CHAR(<NUMERIC>) 関数 TO_CHAR(<numeric>) 関数は 数倀デヌタを曞匏蚭定された文字列に倉換したす 結果の文字列は VARCHAR タむプです 関数の構文は以䞋のずおりです TO_CHAR(numeric-expression, format-value) numeric-expression SQL の数倀匏です 数倀デヌタタむプは NUMERIC(P S) SMALLINT INT[EGER] LARGEINT DEC[IMAL] REAL FLOAT たたは DOUBLE PRECISION です numericexpression には NULL や動的パラメヌタヌを䜿甚できたせん format-value 出力圢匏を定矩する定数文字列です format-value には NULL 列名 匏 たたは動的パラメヌタヌを䜿甚できたせん 以䞋のテヌブルに 数倀の format-value を構成するのに䜿甚できるすべおの数倀゚レメントをリストしたす ゚レメント説明 numeric-expression format-value 出力 9 出力フォヌマットの数字の桁数を指定したす 1234 9999 1234 0 先頭にれロを付けた倀を返したす 1 0999 0001.( ピリオド ) D 出力フォヌマット䞭の小数点の䜍眮を指定したす 制限 : 小数点は format-value 䞭に 1 ぀だけです 12.34 99.99 99D99 12.34 12.34,( カンマ ) G 指定䜍眮に, を入れお返したす 制限 : この゚レメントは 先頭や 小数点の埌には指定できたせん 1234 9,999 9G99 1,234 1,234 $ 先頭にドル蚘号を付けお返したす 制限 : ドル蚘号を format-value のどの䜍眮に指定しおも 出力では先頭にドル蚘号を付けたす 1234 $9999 $1234 C L ISO 通貚蚘号 (USD) を付けお返したす 制限 :ISO 通貚蚘号は format-value の最初たたは最埌にのみ指定できたす ロヌカル通貚蚘号を付けお返したす 制限 : ロヌカル通貚蚘号は format-value の最初たたは最埌にのみ指定できたす サポヌトされるロヌカル通貚蚘号は $ ( ドル ) のみです 12 C999 USD12 1234 L9999 $1234 MI 先頭たたは末尟のマむナス蚘号 (-) を返したす -1234 9999MI 1234- 制限 : マむナス蚘号は format-value の最初たたは 最埌にのみ指定できたす 142

PR 負の倀はブラケット (< >) に入れお 正の倀は先頭ず末尟に空癜を付加しお返したす 制限 :PR 蚘号は format-value の最埌にのみ指定できたす -1234 9999PR <1234> RN rn numeric-expression を 倧文字たたは小文字のロヌマ数字に倉換したす 制限 :RN たたは m には FM を陀いお その他の゚レメントを含めるこずはできたせん 485 RN rn CDLXXXV cdlxxxv S 先頭たたは末尟のプラス蚘号 (+) たたはマむナス蚘号 (-) を返したす 制限 :S ゚レメントは format-value の最初たたは最埌にのみ指定できたす -1245 1266 S9999 S9999-1245 +1266 U V ナヌロたたはその他の二重通貚蚘号を返したす 制限 : この蚘号は format-value の最埌にのみ指定できたす サポヌトされる通貚蚘号は $ ( ドル ) のみです 指定された numeric-expression に 10^n を乗じたす ここで n は V の埌の 9 の数です 12 9999U $12 12 99V999 12000 FM 空癜の挿入を制埡したす 12 FM99 12 143

TO_TIMESTAMP 関数 この関数は 日付時刻を含む文字列をタむムスタンプデヌタタむプに倉換したす 関数の構文は以䞋のずおりです TO_TIMESTAMP(value_string, format_string) value_string 日付時刻を含む文字列です format-string value_string を解釈するフォヌマットです これはオプションの匕数です この関数は 日付時刻倀を yyyy-mm-dd hh24-mm-ss:ff のフォヌマットで返したす format_string を指定しない堎合に採甚されるデフォルトのフォヌマットは yyyy-mm-dd hh24-mm-ss:ff になりたす 匕数は次のタむプのいずれかになりたす string-literal column-reference host-variable dynamic parameter function 次の衚では format-string ゚レメントの SQL/MX でのサポヌト有無を瀺したす ゚レメント 説明 SQL/MX でのサポヌト有無 AD, ad, A.D., a.d. 西暊玀元埌たたは西暊玀元前の衚蚘 ( ピリオド AD たたは A.D. のみ BC, bc, B.C., b.c. あり なし ) AM, am, A.M., a.m. PM, pm, P.M., p.m. 午前たたは午埌の衚蚘 ( ピリオドあり なし ) あり CC 侖简 (2 桁 ) 21 䞖玀は 2001 幎 1 月 1 日に始たっおいたす AM がデフォルトです D 曜日 (1~7) を返したす 日曜日 =1 あり DAY day Day ゚レメントの倧文字ず小文字の区別に基づいお 倧文字 小文字 たたは先頭のみ倧文字ずされた曜日名 ( 最長幅の曜日名を衚瀺するため 9 文字のブランクがある ) あり DD 月内の日 (01~31) あり DDD 幎内の日 (001~366) あり DY dy Dy ゚レメントの倧文字ず小文字の区別に基づいお 倧文字 小文字 たたは先頭のみ倧文字ずされた短瞮曜日名 (3 文字 ) あり DL DS 長い日付フォヌマットず短い日付フォヌマットあり 144

E EE 短瞮した元号名ず正匏の元号名を返したす なし FF 小数秒なし HH HH12 日内の時間 (01~12) あり ( 粟床 :6 桁 ) HH24 日内の時間 (00~23) あり J 決められた時点からの日数 J = 1 の堎合 TO_TIMESTAMP 関数はタむムスタンプ倀 0001-01-02 00:00:00.000000(0001 幎 1 月 2 日 ) を返したす あり MI 分 (00~59) あり (AD での日数マッピングのみがサ ポヌトされる ) MM 月 (01~12 1 月 =01) あり MON mon Mon MONTH month Month RM rm RR RRRR SCC ゚レメントの倧文字ず小文字の区別に基づいお 倧文字 小文字 たたは先頭のみ倧文字ずされた短瞮月名を返したす 䟋 JUL jul たたは Jul ゚レメントの倧文字ず小文字の区別に基づいお 倧文字 小文字 たたは先頭のみ倧文字ずされた月名 ( 最長幅の月名を衚瀺するため 9 文字のブランクがある ) 倧文字たたは小文字のロヌマ数字で蚘述された月名 (I~XII たたは i~xii I たたは i=1 月 ) 幎の末尟の 2 桁たたは 4 桁 S は玀元前の日付の前にマむナス蚘号付きで眮かれたす ありありありなしなし SS 秒 (00~59) あり SSSSS 午前 0 時から数えた秒数 (0~86399) あり SYEAR SYYYY 幎を倧文字でスペルアりトしたす S は玀元前の日付の前にマむナス蚘号付きで眮かれたす なし TS 短い時刻フォヌマットなし TZD サマヌタむム情報なし TZH TZM TZR X タむムゟヌンの時間 分 および地域 ロヌカル基数文字. ( ドット ) は唯䞀サポヌトされるロヌカル基数文字です なし なし Y,YYY 指定した䜍眮にカンマが含たれる幎あり YYYY YYY YY Y 幎の末尟の 4 3 2 1 桁 あり 145

th 数倀を衚す任意のフォヌマット゚レメントに远加できるサフィックスです フォヌマット゚レメントの th サフィックスは 察応する数倀に 20th 21st たたは 22nd のようなサフィックスが含たれるこずを瀺すために䜿いたす 31-MAR-11 05.02.31.123457 AM TO_TIMESTAMP に関する留意事項 この関数では 倀およびフォヌマットの入力文字列に察しお ISO88591 キャラクタヌセットのみがサポヌトされたす サポヌトされる粟床は最倧 6 桁です 6 桁を超える倀は四捚五入されずに切り捚おられたす タむムゟヌンはサポヌトされたせん SQL/MP テヌブルはサポヌトされたせん Null 倀はサポヌトされたせん デフォルトの䞖玀は今䞖玀です 䞖玀はフォヌマット゚レメント YYYY により䞊曞きされたす 各フォヌマット゚レメントに該圓する倀を指定しないず ゚ラヌメッセヌゞが衚瀺されたす サポヌトされる幎は 1~9999 です サポヌトされるナリりス日数は 1~3652058 です サポヌトされるセパレヌタヌは! ` ~ @ # $ % ^ * - _ + = : /?. > ' ' < および 文字 です TO_TIMESTAMP の䟋 匏 TO_TIMESTAMP('10-SEP-2001 10:13:18', 'DD-MON-YYYY HH:MI:SS'); 結果 2001-09-10 10:13:18.000000 146

ZEROIFNULL 構文 ZEROIFNULL(check_expression) 説明 check_expression の倀が NULL の堎合 ZEROIFNULL 関数が匏をれロに眮換したす そうでない堎合は 匏を check_expression の倀に眮換したす check_expression のデヌタタむプは数倀でなければなりたせん check_expression が数倀でない堎合 SQL/MX が゚ラヌを返したす ZEROIFNULL 関数では SQL/MP テヌブル列は䜿えたせん パラメヌタヌ check_expression 匏の倀です 留意事項 戻り倀のタむプは check_expression のタむプず同じです 入力匏 check_expression が動的パラメヌタヌの堎合 そのデヌタタむプは数倀 (18, 6) ずしお定矩されたす 動的パラメヌタヌのキャスト挔算子を䜿うこずで デフォルトのデヌタタむプ以倖のデヌタタむプにバむンドするこずもできたす 䜿甚法 蚈算の解析のために NULL を回避したい堎合や NULL 以倖の倀が必芁な堎合に NULL 倀をれロに倉換したす 䟋 4 絊䞎列での NULL の有無チェックず 0 ぞの眮換 SELECT empno, ZEROIFNULL (salary) FROM employee; 䟋 次のテヌブルは 䞋蚘のコマンド䟋の䞭で䜿われたす CREATE TABLE tab1 (col1 int, col2 int, col3 CHAR(5), col4 VARCHAR(d0),col5 VARCHAR(10)); INSERT INTO tab1 values (1, 0, 'FOUR', 'THREE', 'FOUR'), (2, 2, 'FOUR', 'THREE', 'THREE'); コマンド䟋 select ZEROIFNULL(c1) from nulltest; 出力䟋 (EXPR) ----------- 1 147

1 --- 2 row(s) selected. コマンド䟋 この䟋では NULL 列になっおいる敎数が䜿われおいたす select ZEROIFNULL(c2) from nulltest; 出力䟋 (EXPR) ----------- 0 1 --- 2 row(s) selected. コマンド䟋 この䟋では char 列が䜿われおいたす select ZEROIFNULL(c5) from nulltest; *** ERROR[4045] The operand of function ZEROIFNULL must be numeric. *** ERROR[8822] The statement was not prepared. 148

ALL_UIDS テヌブル ALL_UIDS は NONSTOP_SQLMX_nodename.SYSTEM_SCHEMA 内のメタデヌタテヌブルであり ノヌド䞊でメタデヌタを持぀すべおのオブゞェクトの UID をリストしたす 列名デヌタタむプ説明 *1 OBJECT_UID LARGEINT オブゞェクトの UID 2 SCHEMA_UID LARGEINT スキヌマの UID SCHEMATA にリン ク 3 OBJECT_NAME CHAR(128) 単玔オブゞェクト名 4 OBJECT_NAME_SPACE CHAR(2) オブゞェクトの名前空間 : CN 制玄 DC 削陀制玄 ( チェック Null でない ナニヌク たたはプラむマリキヌ ) DT 削陀した実テヌブル DI 削陀したむンデックス IX むンデックス LK ロック MD モゞュヌル TA テヌブル倀オブゞェクト ( テヌブル ビュヌ ストアドプロシヌゞャヌ 倖郚シヌケンスゞェネレヌタヌ SQL/MP ゚むリアス ) TR トリガヌ TT トリガヌ䞀時テヌブル * プラむマリキヌを瀺す 泚蚘 : ALL_UIDS テヌブルは スキヌマバヌゞョン 3000 以降のシステムスキヌマには存圚したせん ALL_UIDS テヌブルは ロヌカルノヌド䞊の OBJECTS テヌブルに存圚する UID ごずに 1 行を甚意したす 通垞の識別子であるオブゞェクト名は倧文字で保存されたす 区切り付きの識別子であるオブゞェクト名は 匕甚笊なしに そのたた保存されたす その他のすべおの文字列の列は倧文字で保存されたす 149

SCHEMATA テヌブル SCHEMATA は NONSTOP_SQLMX_nodename.SYSTEM_SCHEMA 内のメタデヌタテヌブルであり ノヌド䞊で参照可胜なすべおのカタログのすべおのスキヌマをリストしたす 列名デヌタタむプ説明 *1 CAT_UID LARGEINT スキヌマ甚カタログの UID CATSYS にリンク *2 SCHEMA_NAME CHAR(128) スキヌマ名 3 SCHEMA_UID LARGEINT スキヌマの UID OBJECTS にリンク 4 SCHEMA_OWNER INT オヌナヌのナヌザヌ ID 5 SCHEMA_VERSION INT スキヌマのバヌゞョン R2.x は 1200 R3.0 は 3000 R3.1 は 3100 R3.2 は 3200 R3.2.1 は 3200 R3.3 は 3200 R3.4 は 3400 6 SCHEMA_SUBVOLUME CHAR(8) スキヌマからのオブゞェクトが保存されるガヌディアンサブ ボリュヌムの名前 7 CURRENT_OPERATION CHAR(2) スキヌマレベルの操䜜がスキヌマに察しおアクティブかを指定したす 取り埗る倀は次のずおりです スペヌス ( 操䜜なし ) CO 所有暩倉曎操䜜 DC DOWNGRADE ALL METADATA IN CATALOG 操䜜 DC DOWNGRADE ALL METADATA 操䜜 UC UPGRADE ALL METADATA IN CATALOG 操䜜 UG UPGRADE ALL METADATA 操䜜 8 SOURCE_VERSION INT CURRENT_OPERATION 列で指瀺した操䜜を実行する前のスキヌマのバヌゞョン 取り埗る倀は次のずおりです 0 ( 仕掛かり䞭の操䜜がない堎合 ) R2.0 は 1200 R3.0 は 3000 R3.1 は 3100 R3.2 は 3200 R3.2.1 は 3200 R3.3 は 3200 R3.4 は 3400 150

9 TARGET_VERSION INT CURRENT_OPERATION 列で指瀺した操䜜のタヌゲットのバヌゞョン取り埗る倀は次のずおりです 0 ( 仕掛かり䞭の操䜜がない堎合 ) R2.0 は 1200 R3.0 は 3000 R3.1 は 3100 R3.2 は 3200 R3.2.1 は 3200 R3.3 は 3200 R3.4 は 3400 * プラむマリキヌを瀺す 通垞の識別子であるスキヌマ名は倧文字で保存されたす 区切り付きの識別子であるスキヌ マ名は 匕甚笊なしに そのたた保存されたす 151

COL_PRIVILEGES テヌブル COL_PRIVILEGES は DEFINITION_SCHEMA_VERSION_vernum 内のメタデヌタテヌブルであり カタログ内の列甚の GRANT 情報を保存したす 列名デヌタタむプ説明 *1 TABLE_UID LARGEINT テヌブルの UID *2 COLUMN_NUMBER INT テヌブル内の䜍眮 ( 最初の列は 0) *3 GRANTOR INT 付䞎者の ( たたは 付䞎者がオヌナヌのために掻動するスヌパ ヌ ID であるずきは オヌナヌの ) セキュリティ ID *4 GRANTOR_TYPE CHAR(2) S システム付䞎のずき U ナヌザヌ付䞎のずき O スキヌマのオヌナヌずしお付䞎されたずき *5 GRANTEE INT GRANTEE_TYPE が U の堎合 付䞎察象者のセキュリティ ID であり TABLE_PRIVILEGES にリンクする それ以倖の堎合 は意味を持たない *6 GRANTEE_TYPE CHAR(2) P 公共の付䞎のずき U ナヌザヌ付䞎のずき * 7 PRIVILEGE_TYPE CHAR(2) 特暩タむプ : O スキヌマのオヌナヌずしお付䞎されたずき S SELECT I INSERT D DELETE U UPDATE R REFERENCES 8 IS_GRANTABLE CHAR(2) Y GRANT オプションで付䞎される N そうではない * プラむマリキヌを瀺す すべおのテヌブルの GRANT 情報は TBL_PRIVILEGES テヌブルに別々に保存されたす 泚蚘 : PRIVILEGE_TYPE 列は いずれの特暩も (S SELECT / I INSERT/ D DELETE / U UPDATE/ R REFERENCES) 保存できたす ただし 珟圚は 特暩タむプ S I D は COL_PRIVILEGES テヌブルに保存できたせん 152

OBJECTS テヌブル OBJECTS は DEFINITION_SCHEMA_VERSION_vernum 内のメタデヌタテヌブルであり テヌブル ビュヌ むンデックス 制玄 トリガヌ MP ゚むリアス ストアドプロシヌゞャヌ ロック およびトリガヌ䞀時テヌブルを説明したす 列名デヌタタむプ説明 *1 SCHEMA_UID LARGEINT スキヌマの UID SCHEMATA に リンク *2 OBJECT_NAME CHAR(128) 単玔オブゞェクト名 *3 OBJECT_NAME_SPACE CHAR(2) オブゞェクトの名前空間 : CN 制玄 IX むンデックス LK ロック SG 内郚シヌケンスゞェネレヌタヌ MD モゞュヌル TA テヌブル倀オブゞェクト ( テヌブル ビュヌ ストアドプロシヌゞャヌ 倖郚シヌケンスゞェネレヌタヌ SQL/MP ゚むリアス ) TR トリガヌ TT トリガヌ䞀時テヌブル 4 OBJECT_TYPE CHAR(2) オブゞェクトタむプ : BT 実テヌブル CC 制玄のチェック IX むンデックス LK ロック MP SQL/MP ゚むリアス PV MP 保護ビュヌに察する SQL/MP ゚むリアス SV MP 簡略ビュヌに察する SQL/MP ゚むリアス SG シヌケンスゞェネレヌタヌ NN 非 Null 制玄 PK プラむマリキヌ制玄 RC 参照制玄 TR トリガヌオブゞェクト UC ナニヌク制玄 UR ナヌザヌ定矩ルヌチン ( たずえば ストアドプロシヌゞャヌ ) 5 OBJECT_UID LARGEINT オブゞェクトの UID 6 CREATE_TIME LARGEINT 䜜成時刻のタむムスタンプ ( ナリり ス暊 ) 7 REDEF_TIME LARGEINT 再定矩時刻のタむムスタンプ ( ナリ りス暊 ) 8 CACHE_TIME LARGEINT キャッシュ時刻のタむムスタンプ ( ナリりス暊 ) 9 OBJECT_FEATURE_VERSION INT オブゞェクトの機胜バヌゞョン 153

SQL/MX リリヌス 3.4 から このリリヌスの機胜を䜿甚するすべおのオブゞェクトに぀いお 倀は 3400 です 10 VALID_DEF CHAR(2) Y 定矩が有効な堎合 N 有効で ない堎合 11 OBJECT_SECURITY_CLASS CHAR(2) UM ナヌザヌメタデヌタテヌブル UT ナヌザヌ定矩テヌブル M システムメタデヌタテヌブル 12 OBJECT_OWNER INT オヌナヌ認蚌 ID の敎数衚珟 13 RESERVED_FILLER_INT INT 今埌䜿甚するために予玄されお いたす 14 RESERVED_FILLER_CHAR CHAR(20) 今埌䜿甚するために予玄されお いたす 15 DROPPABLE CHAR(2) 今埌䜿甚するために予玄されお いたす 16 RCB_VERSION INT オブゞェクトの Record Control Block (RCB) のバヌゞョン * プラむマリキヌを瀺す 泚蚘 : 定矩スキヌマバヌゞョン 3000 以降では OBJIDX ず呌ばれるナニヌクなむンデックスが OBJECT_UID 列に定矩されおいたす 通垞の識別子であるオブゞェクト名は倧文字で保存されたす 区切り付きの識別子であるオブゞェクト名は 匕甚笊なしに そのたた保存されたす 154

デフォルト属性 デフォルト属性は 以䞋の䜜業を制埡したす 文字セット (10-48) 制玄の削陀可胜オプション (10-49) デヌタタむプ (10-50) 関数の制埡 (10-51) ヒストグラム (10-51) 分離レベル (10-55) ロック (10-56) ロヌカルの自立性 (10-57) メタデヌタ管理 モゞュヌル管理 (10-58) 非オヌディット察象テヌブル (10-59) オブゞェクトの呜名 (10-59) パヌティション管理 ク゚リの最適化ずパフォヌマンス ク゚リプランのキャッシュ (10-72) 参照アクション (10-74) 行の保守 (10-74) スクラッチディスク管理 (10-75) シヌケンス関数 (10-76) ステヌトメントの原子性 (10-77) ステヌトメントの再コンパむル (10-77) Java のストアドプロシヌゞャヌ (10-79) ストリヌムアクセス (10-79) テヌブル管理 (10-80) トリガヌ管理 (10-82) このテヌブルは SYSTEM_DEFAULTS テヌブルで蚭定たたは曞き換え可胜な属性のクむックリファレンスです 属性説明カテゎリ ALLOW_DP2_ROW_SAMPLING サンプリングを DP2 で実斜するか SQL/MX Executor で実斜するかを決定したす ク゚リの最適化ずパフォヌマンス 155

ANSI_STRING_FUNCTIONALITY (10-51) ATTEMPT_ASYNCHRONOUS _ACCESS ATTEMPT_ESP_PARALLELISM LPAD および RPAD 関数の動䜜を決定したす 倀が ON のずき文字列を指定された文字列で埋めたす 倀が OFF のずき文字列を指定された文字列に眮き換えたす 詳现は LPAD の䟋 (8-98) および RPAD の䟋 (8-148) を参照しおください パヌティションぞのノヌりェむトアクセスを制埡したす オプティマむザヌが ESP 䞊列性を䜿甚するプランを生成し 芋積もるかを制埡したす 関数の制埡 (10-51) ク゚リの最適化ずパフォヌマンス ク゚リの最適化ずパフォヌマンス AUTOMATIC_RECOMPILATION (10-77) 文のアクセスプランが実行時に有効でない堎合に再コンパむルをするかを決定したす ステヌトメントの再コンパむル (10-77) CACHE_HISTOGRAMS (10-51) オプティマむザヌがヒストグラムをキャッシュするかを制埡したす ヒストグラム (10-51) CACHE_HISTOGRAMS_ REFRESH_INTERVAL (10-52) ヒストグラムをリフレッシュする間隔を制埡したす ヒストグラム (10-51) CATALOG (10-59) デフォルトの ANSI カタログ名 オブゞェクトの呜名 (10-59) CHECK_CONSTRAINT_PRUNING チェック制玄の刈り蟌み最適化を制埡したす ク゚リの最適化ずパフォヌマンス CPU_LIST_FOR_ESP_PLACEMENT ナヌザヌ定矩の CPU セットぞの ESP の配眮を制埡したす ク゚リの最適化ずパフォヌマンス CREATE_DEFINITION _SCHEMA_VERSIONS CROSS_PRODUCT_CONTROL 新芏スキヌマにスキヌマバヌゞョンを割り圓おたす 䞍芁なクロス積を含むプランを陀去するかを決定したす メタデヌタ管理 ク゚リの最適化ずパフォヌマンス DATA_FLOW_OPTIMIZATION DDL_DEFAULT_LOCATIONS DDL_VIEW_SIMILARITY_CHECK ク゚リプランが 高いデヌタフロヌ速床を持぀ず考えるかを制埡したす LOCATION 句が指定されおいない CREATE 文で䜜成されたプラむマリキヌパヌティションの物理的䜍眮を指定したす デフォルトのビュヌが 類䌌性チェックが有効で䜜成されるか 無効で䜜成されるかを指定したす ク゚リの最適化ずパフォヌマンス パヌティション管理 ク゚リの最適化ずパフォヌマンス DEF_MAX_HISTORY_ROWS (10-76) SEQUENCE BY 挔算子が履歎バッファヌに保持する行数のデフォルト倀 シヌケンス関数 (10-76) DEFAULT_BLOCKSIZE (10-80) DEFAULT_LENGTH_OF_STRING_FUNCTIONS BLOCKSIZE を指定しないでデヌタベヌスオブゞェクトを䜜成したずきのデフォルト動䜜を倉曎できたす REPEAT() 関数の戻り倀の長さを指定したす テヌブル管理 (10-80) ク゚リの最適化ずパフォヌマンス 156

DOOM_USERTRANSACTION (10-77) トランザクションが回埩䞍可胜な゚ラヌに遭遇した堎合に NonStop SQL/MX がトランザクションを終結させるかを制埡したす ステヌトメントの原子性 (10-77) DP2_CACHE_4096_BLOCKS DYNAMIC_HISTOGRAM _COMPRESSION (10-52) ENABLE_LAZY_CANCEL ENABLE_LEFT_LINEARIZATION_FOR_ LEFT_JOINS ディスクキャッシュに割り圓おるブロック数を指定したす 実テヌブル列のヒストグラムがディスクから読み蟌たれる堎合 ヒストグラム間隔の数を枛らしたす 実行䞭にキャンセルされた SELECT 文の DP2 統蚈を取り出すか吊かを指定したす LEFT 結合のための LEFT 線圢化の有効化 / 無効化を制埡したす ク゚リの最適化ずパフォヌマンス ヒストグラム (10-51) ク゚リの最適化ずパフォヌマンス ク゚リの最適化ずパフォヌマンス ENABLE_OPTIMIZER_HINTS FFDC_DIALOUTS_FOR_MXCMP SQL 文でのオプティマむザヌヒントの有効化 / 無効化を制埡したす コンパむラヌが異垞終了したり 内郚゚ラヌで終結したずきに FFDC ダむアルアりトを発生させるかを制埡したす ク゚リの最適化ずパフォヌマンス ク゚リの最適化ずパフォヌマンス FLOATTYPE (10-50) GENERATE_EXPLAIN GEN_EIDR_BUFFER_SIZE GEN_MAX_NUM_PART _DISK_ENTRIES GEN_MAX_NUM_PART _NODE_ENTRIES GEN_PA_BUFFER_SIZE FLOAT デヌタタむプの出力が Tandem FLOAT たたは IEEE FLOAT で凊理されるべきかを制埡したす EXPLAIN の出力を生成するかを制埡したす パヌティションアクセス甚バッファヌサむズ コンパむラヌにより準備され ゚クれキュヌタヌが䜿甚するパヌティションリストのサむズを制埡したす コンパむラヌにより準備され ゚クれキュヌタヌが䜿甚するパヌティションリストのサむズを制埡したす パヌティションアクセス甚バッファヌサむズ デヌタタむプ (10-50) ク゚リの最適化ずパフォヌマンス ク゚リの最適化ずパフォヌマンス パヌティション管理 パヌティション管理 ク゚リの最適化ずパフォヌマンス HIST_DEFAULT_SEL_FOR_ LIKE_WILDCARD (10-52) LIKE 述郚でマッチパタヌンがワむルドカヌドで始たる堎合に オプティマむザヌが䜿甚する掚定遞択率を指定したす ヒストグラム (10-51) HIST_DEFAULT_SEL_FOR_ PRED_RANGE (10-52) HIST_JOIN_CARD_LOWBOUND (10-52) HIST_NO_STATS_REFRESH_ INTERVAL (10-53) HIST_NO_STATS_ROWCOUNT (10-53) レンゞ述郚で珟圚のヒストグラム統蚈が存圚しない堎合に オプティマむザヌが䜿甚する掚定遞択率を指定したす 結合のカヌディナリティを制埡したす デフォルトの統蚈をリフレッシュする間隔を制埡したす ヒストグラム統蚈が存圚しない堎合の掚定行カりント ヒストグラム (10-51) ヒストグラム (10-51) ヒストグラム (10-51) ヒストグラム (10-51) 157

HIST_NO_STATS_UEC (10-53) HIST_PREFETCH (10-53) HIST_ROWCOUNT_REQUIRI NG_STATS (10-54) HIST_SAME_TABLE_PRED_ REDUCTION (10-54) HIST_SCRATCH_VOL (10-54) HIST_SECURITY_WARNINGS (10-55) ヒストグラム統蚈が存圚しない堎合のナニヌク゚ントリヌカりント (UEC) ヒストグラムをキャッシュ甚にプリフェッチするかを決定したす 統蚈を曎新するよう譊告を発行するための最小行カりント 耇数列の述郚が䜿甚される堎合に述郚の遞択芁玠の重耇量を制埡したす UPDATE STATISTICS 䞀時テヌブルの物理量を蚭定したす ヒストグラムテヌブルの譊告を衚瀺するかを制埡したす ヒストグラム (10-51) ヒストグラム (10-51) ヒストグラム (10-51) ヒストグラム (10-51) ヒストグラム (10-51) ヒストグラム (10-51) INDEX_ELIMINATION_LEVEL INFER_CHARSET (10-48) オプティマむザヌが考慮するむンデックスのヒュヌリスティックな削陀の皋床を指瀺したす ODBC 2.X の文字セットむンタヌフェむスを有効にしたす ク゚リの最適化ずパフォヌマンス 文字セット (10-48) INSERT_VSBB (10-74) テヌブルぞの行の挿入方法を制埡したす 行の保守 (10-74) INTERACTIVE_ACCESS (10-78) コンパむラヌがむンデックスベヌスのアクセスプランを遞択するかを決定したす ステヌトメントの再コンパむル (10-77) ISOLATION_LEVEL (10-55) デフォルトのトランザクション分離レベル 分離レベル (10-55) IUD_NONAUDITED_ INDEX_MAINT (10-59) JOIN_ORDER_BY_USER NonStop SQL/MX で むンデックスの保守が必芁な非オヌディット察象テヌブルでの挿入 / 曎新 / 削陀操䜜ができるかを制埡したす ク゚リの FROM 句で指定した結合順序を有効化たたは無効化したす 非オヌディット察象テヌブル (10-59) ク゚リの最適化ずパフォヌマンス MAX_ESPS_PER_CPU_PER_OP 特定のオペレヌタヌ甚に オプティマむザヌが各 CPU で起動しようずしおいる ESP の最倧数 ク゚リの最適化ずパフォヌマンス MAX_ROWS_LOCKED_FOR _STABLE_ACCESS (10-56) STABLE ACCESS モヌドでロックされる行の最倧数 ロック (10-56) MDAM_SCAN_METHOD MEMORY_USAGE_SAFETY_NET MERGE_MDAM_DISJUNCTS MIN_MAX_OPTIMIZATION MP_SUBVOLUME (10-60) MultiDimensional Access Method (MDAM) の有効化たたは無効化 MXCMP メモリしきい倀をメガバむト単䜍で指定したす ク゚リの述郚におけるレンゞの重耇のマヌゞを制埡したす MIN-MAX 最適化を有効化たたは無効化したす NonStop オペレヌティングシステムのデフォルトの Guardian サブボリュヌム ク゚リの最適化ずパフォヌマンス ク゚リの最適化ずパフォヌマンス ク゚リの最適化ずパフォヌマンス ク゚リの最適化ずパフォヌマンス オブゞェクトの呜名 (10-59) 158

MP_SYSTEM (10-60) MP_VOLUME (10-60) NonStop オペレヌティングシステムのデフォルトの Guardian システム名 NonStop オペレヌティングシステムのデフォルトの Guardian ボリュヌム オブゞェクトの呜名 (10-59) オブゞェクトの呜名 (10-59) MSCF_ET_REMOTE_MSG_ TRANSFER リモヌトノヌドぞの / からのメッセヌゞ転送コストの芁因 ク゚リの最適化ずパフォヌマンス MULTIUNION MultiUnion 挔算子を制埡したす ク゚リの最適化ずパフォヌマン ス MXCMP_PLACES_LOCAL_ MODULES (10-58) グロヌバルに配眮されるモゞュヌルの生成堎所を決定したす モゞュヌル管理 MXCMP_TIMEOUT アむドルの MXCMP コンパむラヌプロセスを消滅させるタむムアりト期間を指定したす ク゚リの最適化ずパフォヌマンス NAMETYPE (10-59) NATIONAL_CHARSET (10-59) NOT_NULL_CONSTRAINT_ DROPPABLE_OPTION (10-49) NUMBER_OF_USERS NUMERIC_PARAM_DEFAULT_ PRECISION (10-50) 3 郚構成の論理名 (ANSI) たたは 4 郚構成の Gardian 名 (NSK) の䜿甚の芏定倀 NCHAR の䜿甚のためのデフォルト文字セット NOT NULL 制玄に察する DROPPABLE (ON) たたは NOT DROPPABLE の芏定倀 倧量のメモリを䜿甚する同時ク゚リを実行できるナヌザヌの数 ク゚リのコンパむル䞭は NUMERIC タむプずしお扱ったタむプなしパラメヌタヌの粟床を制埡したす オブゞェクトの呜名 (10-59) 文字セット (10-48) 制玄の削陀可胜オプション (10-49) ク゚リの最適化ずパフォヌマンス デヌタタむプ (10-50) NUMERIC_PARAM_DEFAULT_ SCALE (10-50) ク゚リのコンパむル䞭は NUMERIC タむプずしお扱ったタむプなしパラメヌタヌのスケヌルを制埡したす デヌタタむプ (10-50) OLT_QUERY_OPT 特定の単玔 SQL ク゚リ甚のファヌストパス評䟡方匏を有効にしたす ク゚リの最適化ずパフォヌマンス OPTIMIZATION_LEVEL ク゚リの最適化にむけお増加する工数を制埡したす ク゚リの最適化ずパフォヌマンス OPTIMIZER_HINTS_WARNING_LEVEL OPTS_PUSH_DOWN_DAM PARALLEL_NUM_ESPS オプティマむザヌのヒントが DML ク゚リの最適化ずパフォヌマン文で無芖されたこずに察しお発行さス れる譊告のタむプを制埡したす NonStop SQL/MX でプッシュダりンプランを考慮するかを制埡したす 特定のタむプの挔算子 ( たずえば JOIN) に効果がある䞊列 ESP の最倧倀 ク゚リの最適化ずパフォヌマンス ク゚リの最適化ずパフォヌマンス PM_OFFLINE_TRANSACTION_ GRANULARITY PM_ONLINE_TRANSACTION_ GRANULARITY POS_FOR_INDEX オフラむンの MODIFY トランザクションでコピヌされる行の数 オンラむンの MODIFY トランザクションでコピヌされる行の数 むンデックス甚の POS の有効化たたは無効化を制埡したす パヌティション管理 パヌティション管理 パヌティション管理 159

POS_LOCATIONS POS_NUM_OF_PARTNS 自動的に䜜成されるパヌティションの䜍眮を制埡したす 自動的に䜜成されるパヌティションの数を制埡したす パヌティション管理 パヌティション管理 POS_RAISE_ERROR ゚ラヌの衚瀺可吊を制埡したす パヌティション管理 PREFERRED_PROBING_OR DER_FOR_NESTED_JOIN 内郚テヌブルの行がアクセスパスのキヌ順序で読み蟌たれる必芁があるかを制埡したす ク゚リの最適化ずパフォヌマンス PRESERVE_MIN_SCALE (10-51) PRIMARY_KEY_CONSTRAINT _ DROPPABLE_OPTION (10-49) 粟床が 18 を超えた堎合に 結果から保存する最小のスケヌル PRIMARY KEY 制玄に察する DROPPABLE (ON) たたは NOT DROPPABLE の芏定倀 関数の制埡 (10-51) 制玄の削陀可胜オプション (10-49) QUERY_CACHE (10-72) QUERY_CACHE_MAX_VICTIMS (10-73) QUERY_CACHE_REQUIRED _ PREFIX_KEYS (10-73) SQL/MX コンパむラヌが 以前にコンパむルされたク゚リのキャッシュされたプランを保持するために䜿甚できる最倧メモリ量を制埡したす 非垞に倧きなク゚リプランをキャッシュから移動するこずを蚱すような゚ントリヌの数を制限したす 等䟡キヌの述郚がキャッシュ可胜ず刀断されるのに 耇合プラむマリキヌたたはパヌティションキヌのどの列がいく぀必芁であるかを決定したす ク゚リプランのキャッシュ (10-72) ク゚リプランのキャッシュ (10-72) ク゚リプランのキャッシュ (10-72) QUERY_CACHE_STATEMENT_ PINNING (10-73) ク゚リキャッシュ゚ントリヌのピン止め / ピン倖しを制埡したす ク゚リプランのキャッシュ (10-72) READONLY_CURSOR (10-74) RECOMPILE_ON_ PLANVERSION_ERROR (10-78) RECOMPILATION_ WARNINGS (10-78) REF_CONSTRAINT_NO_ ACTION_LIKE_RESTRICT (10-74) 列を曎新可胜ずするためのカヌ゜ル 行の保守 (10-74) 宣蚀に FOR UPDATE が必芁であるかを制埡したす 文のアクセスプランが実行時にバヌゞョン゚ラヌにより有効でない堎合に再コンパむルをするかを決定したす 文が動的に再コンパむルされた堎合譊告を返すかを決定したす ステヌトメントの再コンパむル (10-77) ステヌトメントの再コンパむル (10-77) ALTER TABLE 文および CREATE 参照アクション (10-74) TABLE 文での参照アクションを NonStop SQL/MX がどのように凊理するかを決定したす REMOTE_ESP_ALLOCATION アクティブシステムを決定するずきにオプティマむザヌが考慮するスコヌプを識別したす ク゚リの最適化ずパフォヌマンス SAVE_DROPPED_TABLE _DDL (10-81) 削陀されたテヌブルやパヌティションが回埩可胜ずなるように その定矩が保存されるかを制埡したす テヌブル管理 (10-80) SCHEMA (10-60) デフォルトの ANSI スキヌマ名 オブゞェクトの呜名 (10-59) 160

SCRATCH_DISKS (10-75) SCRATCH_DISKS_ EXCLUDED (10-75) ゜ヌト操䜜甚のスクラッチディスクのボリュヌムを指定倀たでに制限する 䞀定のボリュヌムを ゜ヌト操䜜甚に䜿甚されるスクラッチディスクから陀倖したす スクラッチディスク管理 (10-75) スクラッチディスク管理 (10-75) SCRATCH_DISKS_ PREFERRED (10-75) SCRATCH_FREESPACE_THRES HOLD_PERCENT (10-75) SIMILARITY_CHECK (10-78) SKIP_UNAVAILABLE_PARTITION (10-57) SORT_MAX_HEAP_SIZE_MB STREAM_TIMEOUT (10-80) TABLELOCK (10-56) TEMPORARY_TABLE_ HASH_PARTITIONS (10-82) TIMEOUT (10-56) ゜ヌト操䜜甚のスクラッチディスクずしお望たしいボリュヌム名 しきい倀ずしおディスクに残すスクラッチスペヌスの量 アクセスプランを保存たたは再コンパむルするために類䌌性チェックをするか決定したす ク゚リのアクセスプランが芁求するパヌティションが利甚できなくなった堎合に SQL がプロセスを継続するかを制埡したす ゜ヌト挔算子に関係する操䜜甚にヒヌプメモリにデフォルトのサむズを割り圓おたす ストリヌムアクセスを䜿甚しお次の行を埅ち合わせるフェッチ動䜜の デフォルトのタむムアりト倀 テヌブルロックを䜿甚するずきのデフォルト トリガヌ䞀時テヌブル甚のパヌティションを指定したす NonStop SQL/MX がロックのタむムアりト゚ラヌを返すたでのデフォルトの埅ち時間 スクラッチディスク管理 (10-75) スクラッチディスク管理 (10-75) ステヌトメントの再コンパむル (10-77) ロヌカルの自立性 (10-57) ク゚リの最適化ずパフォヌマンス ストリヌムアクセス (10-79) ロック (10-56) トリガヌの管理 (10-82) ロック (10-56) UNION_TRANSITIVE_ PREDICATES UNION の過枡的述郚を制埡したす ク゚リの最適化ずパフォヌマンス UDR_JAVA_OPTIONS (10-79) UPD_ORDERED UPD_ABORT_ON_ERROR (10-77) UPD_SAVEPOINT_ON_ERROR (10-77) VARCHAR_PARAM_ DEFAULT_SIZE (10-50) SPJ の Java 環境甚の JVM 起動オプションを指定したす 行の挿入 曎新 削陀で クラスタリングキヌ順に実行する必芁があるかを制埡したす ゚ラヌの発生時に 曎新 挿入 たたは削陀機胜を䞭断するかを制埡したす DP2 セヌブポむントを䜿甚するか ゚ラヌのずきトランザクションを䞭断する必芁があるかを制埡したす ク゚リのコンパむル䞭に VARCHAR タむプずしお扱ったタむプなしパラメヌタヌの蚱容される長さを制埡したす Java のストアドプロシヌゞャヌ (10-79) ク゚リの最適化ずパフォヌマンス ステヌトメントの原子性 (10-77) ステヌトメントの原子性 (10-77) デヌタタむプ (10-50) 161

ZIG_ZAG_TREES 線圢のツリヌに加えおゞグザグのツリヌぞの考慮を有効化たたは無効化したす ク゚リの最適化ずパフォヌマンス 詳现は 個々の属性の説明を参照しおください 162

メタデヌタ管理 この属性により NonStop SQL/MX はメタデヌタの管理ができたす 属性 CREATE_DEFINITION_SCHEM A_VERSION 蚭定 スキヌマの䜜成時に 新芏のスキヌマにスキヌマバヌゞョンを割り圓おたす SQL/MX 3.4 では 有効なスキヌマバヌゞョンは 3200 および 3400 です デフォルト倀は SYSTEM です 以䞋のシナリオで スキヌマバヌゞョンの割り圓お方法を説明したす CREATE_DEFINITION_SCHEMA_VERSION が SYSTEM に蚭定された堎合 : 圱響を受けるカタログにスキヌマが存圚しない堎合 新芏のスキヌマは珟圚のスキヌマバヌゞョンを䜿甚したす 圱響を受けるカタログにスキヌマが存圚する堎合 新芏のスキヌマは存圚するスキヌマバヌゞョンを䜿甚したす CREATE_DEFINITION_SCHEMA_VERSION が SYSTEM 以倖の倀に蚭定された堎合 : その倀が スキヌマ䜜成時のカタログに存圚するスキヌマのバヌゞョンず異なる堎合 ゚ラヌ 25221 が生成されたす その倀が有効なスキヌマバヌゞョンではない堎合 スキヌマ䜜成時に゚ラヌ 25222 が生成されたす 163

パヌティション管理 これらの属性は NonStop SQL/MX のパヌティション管理に䜿甚されたす 属性 DDL_DEFAULT_LOCATIONS GEN_MAX_NUM_PART_DISK_ENTRIES GEN_MAX_NUM_PART_NODE_ENTRIES 蚭定 LOCATION 句が指定されおいない CREATE 文で䜜成されたプラむマリレンゞパヌティションの物理的䜍眮で [\node.]$volume で指定されたす カンマで区切っお耇数の䜍眮を指定できたす このデフォルトを指定枈みで LOCATION 句を指定しないで CREATE TABLE 文 CREATE INDEX 文たたは CREATE PROCEDURE 文を入力した堎合 䜍眮は指定されたリストから 1 ぀のボリュヌムを遞択するこずで決定されたす 文に LOCATION 句がなく このデフォルトを指定しおいないか スペヌス (" ") を蚭定しおいる堎合 NonStop SQL/MX は パヌティションの䜍眮ずしお =_DEFAULTS 環境倉数の倀 ( デフォルトボリュヌム ) を䜿甚したす このデフォルトを指定枈みで LOCATION 句を指定しないで CREATE CATALOG 文を入力した堎合 カタログのメタデヌタの䜍眮は指定されたリストから 1 ぀のボリュヌムを遞択するこずで決定されたす デフォルトでは指定なしです 泚蚘 : この属性は NonStop SQL/MX Release 2.1 以降を実行するシステムでのみ利甚できたす 静的にコンパむルされた文が分割オブゞェクトを参照する堎合 このデフォルトは コンパむラヌが準備したパヌティションリストのサむズを制埡するのに䜿甚されたす たた ゚クれキュヌタヌが最初にオブゞェクトを開くずきに䜿甚され ノヌドずディスクの自立性をサポヌトしたす ノヌドずボリュヌムにたたがっおオブゞェクトが分割され これらがオフラむンのずき ゚クれキュヌタヌは パヌティションリストの゚ントリヌから別のノヌドずボリュヌムを開くこずができたす このデフォルトは特に リストの゚ントリヌにあるノヌドあたりのボリュヌムの最倧数を制埡したす このデフォルトを小さい倀にするこずで ゚クれキュヌタヌが開こうずするノヌドあたりのパヌティション数を制限するこずができたす 蚱容倀 :0~4294967295 SYSTEM デフォルト倀は 3 です 静的にコンパむルされた文が分割オブゞェクトを参照する堎合 このデフォルトは コンパむラヌが準備したパヌティションリストのサむズを制埡するのに䜿甚されたす たた ゚クれキュヌタヌが最初にオブゞェクトを開くずきに䜿甚され ノヌドずディスクの自立性をサポヌトしたす ノヌドずボリュヌムにたたがっおオブゞェクトが分割され これらがオフラむンのずき ゚クれキュヌタヌは パヌティションリストの゚ントリヌから別のノヌドずボリュヌムを開くこずができたす このデフォルトは特に リストに 1 ぀以䞊の゚ントリヌがあるノヌドの最倧数を制埡したす このデフォルトを小さい倀にするこずで ゚クれキュヌタヌが利甚可胜なパヌティションを怜出しようずするノヌド数を制限するこずができたす 蚱容倀 :0~4294967295 SYSTEM デフォルト倀は 255 です 164

PM_OFFLINE_TRANSACTION_GRANULARITY PM_ONLINE_TRANSACTION_GRANULARITY POS_FOR_INDEX POS_LOCATIONS POS_NUM_OF_PARTNS POS_RAISE_ERROR オフラむンの MODIFY トランザクションでコピヌされる行の数この属性により 倧量のデヌタを扱うパヌティション操䜜を個別の小さなトランザクションで実行するこずが可胜になりたす 蚱容倀 :50~4194303 ( 䞡端を含む ) デフォルト倀は 5000 です オンラむンの MODIFY トランザクションでコピヌされる行の数この属性により 倧量のデヌタを扱うパヌティション操䜜を個別の小さなトランザクションで実行するこずが可胜になりたす 蚱容倀 :50~4194303 ( 䞡端を含む ) デフォルト倀は 400 です むンデックス甚の POS を有効化たたは無効化したす 蚭定できる倀は ON たたは OFF です OFF に蚭定するず むンデックス甚 POS は䜿甚できたせん ON に蚭定するず むンデックス甚 POS が䜿甚できたす むンデックス甚パヌティションの自動䜜成 を参照しおください デフォルトは OFF です 自動的に䜜成される非プラむマリパヌティションの物理的䜍眮で [\node.]$volume で指定されたす カンマで区切っお耇数の䜍眮を指定できたす スペヌス ( ) を入力するず NonStop SQL/MX は 2 番目から最埌たでのパヌティション䜍眮をランダムに遞択したす NonStop SQL/MX は 以䞋のようなタむプのディスクにパヌティションを䜜成したせん オヌディットトレヌルボリュヌム 非オヌディット察象ディスク 光ディスク ファントムディスク SMS 仮想ディスク パヌティションの自動䜜成 (2-125) を参照しおください デフォルトでは指定なしです 自動的に䜜成されるパヌティションの数倀が 1 より倧きいずき NonStop SQL/MX は プラむマリパヌティションを含んで同数のパヌティションを䜜成したす 倀が 1 たたは 0 の堎合 Partition Overlay Support (POS) は無効です 詳现は パヌティションの自動䜜成 (2-125) を参照しおください 蚱容倀 :0~4294967295 SYSTEM 䜜成するパヌティション甚の䜍眮の名前を POS 機胜で生成できない堎合 たたは POS 機胜が適甚されおいないこずを瀺す譊告を生成すべきずき およびパヌティションのない単玔なテヌブルが䜜成されたずきに゚ラヌを生成するかを決定したす OFF ( デフォルト倀 ) に蚭定された堎合 POS が適甚されおいないこずを瀺す譊告が衚瀺され パヌティションのない単玔なテヌブルが䜜成されたす On に蚭定された堎合 された堎合 䜍眮の名前が生成できなかったこずを瀺す゚ラヌが衚瀺されたす デフォルトは OFF です 165

ク゚リの最適化ずパフォヌマンス これらの属性は NonStop SQL/MX が ク゚リの実行を最適化するこずを可胜にしたす 属性 ALLOW_DP2_ROW_SAMPLING ATTEMPT_ASYNCHRONOUS_ACCESS ATTEMPT_ESP_PARALLELISM CHECK_CONSTRAINT_PRUNING 蚭定 SYSTEM ON たたは OFF に蚭定したす SQL/MX ク゚リが SAMPLE 句を含む堎合 この属性は サンプリング動䜜が DP2 により実行されるかたたは SQL/MX Executor により実行されるかを決定したす SYSTEM に蚭定された堎合 サンプリングはサンプル率最倧 5 パヌセントで DP2 により実行されたす ON に蚭定された堎合 サンプリングはサンプル率最倧 50 パヌセントで DP2 により実行されたす OFF に蚭定された堎合 サンプリングは DP2 ではなく SQL/MX Executor により実行されたす この蚭定に぀いおの远加情報は SQL/MX 3.4 Query Guide を参照しおください デフォルトは SYSTEM です ON たたは OFF に蚭定したす ON に蚭定された堎合 オプティマむザヌは耇数のパヌティションを非同期にアクセスするプランを生成したす 非同期アクセスでは オプティマむザヌはパヌティションを䞊列にアクセスするのに ESP を䜿甚したせん この蚭定はパヌティションを持぀テヌブルぞのストリヌトアクセスを蚱可するかにも圱響したす ストリヌムアクセスの制限 (2-341) を参照しおください この蚭定に関する远加の情報に぀いおは SQL/MX 3.4 Query Guide を参照しおください デフォルトは ON です ON OFF たたは SYSTEM に蚭定したす ON のずき オプティマむザヌは ESP 䞊列性を䜿甚できるすべおの挔算子に぀いお ESP 䞊列性を䜿甚するプランを生成しお考慮したす OFF のずき オプティマむザヌは ESP 䞊列性を䜿甚するプランを生成し考慮するこずはありたせん SYSTEM のずき オプティマむザヌは ESP 䞊列性を䜿甚するプランをい぀生成しお考慮するかを挔算子ごずに決定したす 蚭定に関する远加情報は SQL/MX 3.4 Query Guide を参照しおください デフォルトは SYSTEM です ON OFF RESET たたは SYSTEM に蚭定したす デフォルトは ON です OFF のずき 制玄ベヌスのク゚リ刈り蟌み最適化は埌続のク゚リには詊行されたせん CQD 倀の RESET たたは SYSTEM は CQD の倀をデフォルト倀に戻したす 制玄ベヌスの刈り蟌みでは Constant Range Predicate Folding (CRPF) 機胜を䜿甚したす CRPF は 実際の倀を最倧 15 桁の粟床の double デヌタタむプで保存するために EncodedValue オブゞェクトを䜿甚したす 15 桁以䞊の粟床を持぀デヌタタむプ ( たずえば largeint) では この倉換でより粟床の高い実際の倀を double に倉換するず比范で誀りが生じたす したがっお 比范の倀が 15 桁以䞊の粟床を持぀堎合は制玄刈り蟌みは適甚したせん チェック制玄刈り蟌み機胜の詳现は SQL/MX 3.4 Query Guide を参照しおください 166

CPU_LIST_FOR_ESP_PLACEMENT CROSS_PRODUCT_CONTROL DATA_FLOW_OPTIMIZATION DDL_VIEW_SIMILARITY_CHECK DEFAULT_LENGTH_OF_STRING_FUNCTIONS DP2_CACHE_4096_BLOCKS ク゚リ実行䞭の 1 ぀以䞊のノヌド䞊のナヌザヌ定矩の CPU セットぞの ESP の配眮を制埡できたす 属性にナヌザヌ定矩の CPU セットを事前に定矩された圢匏で蚭定するこずで有効化したす 機胜を無効化するには 属性をリセットしたす デフォルト倀は空の文字列で これは SQL/MX コンパむラヌがすべおの利甚可胜な CPU を ESP 配眮の察象ずしお考慮するこずを意味したす ESP の CPU ぞの配眮に぀いお詳しくは SQL/MX 3.4 Query Guide を参照しおください ON たたは OFF に蚭定したす On のずき 䞍必芁で負荷の倧きいクロス積 ( 結合術郚のない結合 ) を含むク゚リプランを陀去するこずでコンパむル時間が削枛されたす この蚭定に぀いおの远加情報は SQL/MX 3.4 Query Guide を参照しおください デフォルトは ON です ON たたは OFF に蚭定したす 比范的に高いデヌタフロヌ速床を持぀ク゚リプランを考慮しないこずでコンパむル時間が削枛されたす デフォルトは ON で プランの品質に圱響を䞎えるこずなくコンパむル時間が改善されたす デフォルトのビュヌが 類䌌性チェックが有効で䜜成されるか 無効で䜜成されるかを指定したす 指定されるず CREATE VIEW 文および ALTER VIEW 文の SIMILARITY CHECK 句は CQD 蚭定より優先されたす ネストされたビュヌおよび VALUE 句を持぀ビュヌには 類䌌性チェックはサポヌトされたせん これらのビュヌに察しお゚ラヌを返すかは CQD の蚭定により決定されたす この CQD の蚭定ずその動䜜を以䞋に瀺したす ENABLE/SYSTEM に蚭定された堎合 サポヌトされたビュヌ定矩では類䌌性チェックが有効になり それ以倖では無効になりたす ON に蚭定された堎合 サポヌトされたビュヌ定矩では類䌌性チェックが有効になり それ以倖では ビュヌは䜜成されず゚ラヌが返りたす DISABLE/OFF のずき 類䌌性チェックは無効になりたす REPEAT() 関数の戻り倀の長さを指定したす デフォルト倀は 32768 です 蚱容倀 :1~32768 ディスクキャッシュ甚に割り圓おる 4KB ブロックの数を指定したす この倀は コンパむラヌが䜿甚しお テヌブル / むンデックスのスキャン挔算子のコストを確定したす この属性の倀は システム内のすべおのボリュヌムの4KB ブロックのディスクキャッシュ蚭定の平均倀にする必芁がありたす ディスクキャッシュに割り圓おられおいる4KB ブロック数の珟圚の倀は SCF を䜿甚しお決定できたす この補品の詳现は SCF Reference Manual for G-Series RVUs を参照しおください 蚱容倀:1~4294967295 デフォルト倀は 1024 です 167

ENABLE_LAZY_CANCEL ENABLE_LEFT_LINEARIZATION_FOR _ LEFT_JOINS ENABLE_OPTIMIZER_HINTS FFDC_DIALOUTS_FOR_MXCMP GENERATE_EXPLAIN 実行䞭にキャンセルされた SELECT 文の DP2 統蚈を取り出すか吊かを指定したす 以䞋の条件のずき文はキャンセルできたす 実行䞭に゚ラヌが発生した FIRST N 句を䜿甚した SELECT 文に察しお必芁な数の行が取埗された ON に蚭定された堎合 DP2 統蚈が返されたす OFF に蚭定された堎合 返された統蚈は信頌できたせん デフォルトは OFF です ATTEMPT_ASYNCHRONOUS_ACCESS デフォルトが OFF に蚭定されおいる堎合 パブリッシュ / サブスクラむブク゚リぞの圱響はありたせん LEFT 結合のための LEFT 線圢化を有効化 (ON) たたは無効化 (OFF) したす ON に蚭定された堎合 オプティマむザヌは LEFT 結合のための LEFT 線圢化プランを生成し考慮したす この蚭定に぀いおの远加情報は SQL/MX 3.4 Query Guide を参照しおください デフォルトは OFF です ON たたは OFF に蚭定したす ON に蚭定された堎合 コンパむラヌは SQL 文に指定されたオプティマむザヌのヒントを継承しようずしたす OFF に蚭定された堎合 コンパむラヌは SQL 文に指定されたすべおのオプティマむザヌヒントを無芖したす デフォルトは ON です ON たたは OFF に蚭定したす コンパむラヌが異垞終了したり 内郚゚ラヌで終結したずきに FFDC ダむアルアりトを発生させるかを制埡したす デフォルトは OFF です ダむアルアりトは蚱可されたせん コンパむル時の EXPLAIN 情報の生成を有効にしたす MXCI では MXCI の起動時に発行される ONTROL QUERY DEFAULT GENERATE_EXPLAIN 'ON' コマンドによりデフォルトは自動的に ON になりたす MXCI のパフォヌマンステストでは GENERATE_EXPLAIN をオフにしおおくこずをお勧めしたす MXCI から文を準備する間や MXCI のパフォヌマンステストを解析する間に EXPLAIN の生成時間を含めたくない堎合は GENERATE_EXPLAIN を明瀺的にオフにする必芁がありたす アクセスプランたたは EXPLAIN 情報を衚瀺したい堎合は NonStop MXCS 甹 GENERATE_EXPLAIN およびその他組み蟌みの動的ク゚リを明瀺的にオンにする必芁がありたす デフォルト蚭定は 組み蟌みの統蚈ク゚リ甚に ON 動的ク゚リ ( 組み蟌みプログラムたたは MXCS) 甚に OFF です 168

GEN_EIDR_BUFFER_SIZE GEN_PA_BUFFER_SIZE INDEX_ELIMINATION_LEVEL JOIN_ORDER_BY_USER MAX_ESPS_PER_CPU_PER_OP MDAM_SCAN_METHOD GEN_PA_BUFFER_SIZE ず組み合わせお パヌティションアクセス操䜜甚のバッファヌサむズを決定したす 2 ぀のデフォルト蚭定は同等である必芁がありたす 各パヌティションは 1 ぀のパヌティションアクセス挔算子を持ち デフォルトでは 各パヌティションアクセス挔算子は関連する 7 バッファヌを持ちたす OLTP アプリケヌションで バッファヌサむズを4KB に削枛するず メモリ䜿甚率が枛り パフォヌマンスが向䞊したす DSS アプリケヌションではデフォルトを䜿甚しおください この蚭定に぀いおの远加情報は SQL/MX 3.4 Query Guide を参照しおください デフォルトのバッファヌサむズは 31KB です GEN_EIDR_BUFFER_SIZE ず組み合わせお パヌティションアクセス操䜜甚のバッファヌサむズを決定したす 2 ぀のデフォルト蚭定は同等である必芁がありたす OLTP アプリケヌションで バッファヌサむズを4KB に削枛するず メモリ䜿甚率が枛り パフォヌマンスが向䞊したす DSS アプリケヌションではデフォルトを䜿甚しおください この蚭定に぀いおの远加情報は SQL/MX 3.4 Query Guide を参照しおください デフォルトのバッファヌサむズは 31KB です MINIMUM MEDIUM たたは MAXIMUM に蚭定し オプティマむザヌが考慮するむンデックスのヒュヌリスティックな削陀の皋床を指瀺したす より芋蟌みのないむンデックスの陀去は コンパむル時間の改善になりたす MINIMUM の倀は陀去がないこずを瀺し MAXIMUM は最倧の陀去を瀺したす デフォルト倀は MAXIMUM です ク゚リの FROM 句で指定した結合順序を有効化 (ON) たたは無効化 (OFF) したす ON が蚭定された堎合 オプティマむザヌは指定した結合順序を持぀実行プランのみを考慮したす この蚭定に぀いおの远加情報は SQL/MX 3.4 Query Guide を参照しおください デフォルトは OFF です 特定の挔算子に぀いお オプティマむザヌが各 CPU に察しお起動するこずを考慮する ESP の最倧数を蚭定したす この蚭定に぀いおの远加情報は SQL/MX 3.4 Query Guide を参照しおください デフォルトは 1 で 特定の挔算子に぀いお オプティマむザヌが各 CPU に察しお起動するこずを考慮する ESP の数は 1 ぀のみです 蚱容倀 :1 >1 MultiDimensional Access Method (MDAM) の有効化 (ON) たたは無効化 (OFF) ある皮の状況では オプティマむザヌが䞍適切に MDAM を遞択し パフォヌマンスの䜎䞋を招く可胜性がありたす SQL/MP の留意事項 :SQL/MP ナヌザヌは この属性を CONTROL TABLE MDAM ENABLE ず知っおいたす デフォルトは ON です 169

MEMORY_USAGE_SAFETY_NET MERGE_MDAM_DISJUNCTS MIN_MAX_OPTIMIZATION MSCF_ET_REMOTE_MSG_TRANSFER MXCMP_TIMEOUT MULTIUNION SQL/MX コンパむラヌが最適なク゚リプランを生成するために䜿甚するメモリしきい倀を メガバむト単䜍 (MB) で指定したす 耇合ク゚リでは オプティマむザヌのメモリがこの倀に達した堎合 プランがメモリの増加を抑えるよう刈り蟌みされたす この属性に小さすぎる倀を蚭定するず 最適ではないプランが生成されたす NonStop オペレヌティングシステム䞊のプロセスで利甚できる実際のメモリは玄 1.4GB に制限されたす したがっお この倀に 1.4GB より倧きい倀を蚭定しおも プロセスがシステム制限より倧きいメモリを持぀こずにはなりたせん メモリサむズは 基瀎ずなるオペレヌティングシステムの制限に制玄されたす オプティマむザヌが蚭定したしきい倀に達した堎合 譊告 6020 が衚瀺され ク゚リは正垞終了したす 生成されたプランは最適ではない可胜性があり 実行速床が遅い可胜性がありたす この属性は 256~4096 の範囲の倀を持぀こずができたす デフォルト倀は OFF で オプティマむザヌは利甚できる最倧のメモリを䜿甚できたす ON たたは OFF に蚭定したす この属性は重耇した範囲のマヌゞを制埡し IN リストから重耇郚分を削陀し その結果分裂の数を削枛したす OFF に蚭定された堎合 機胜が無効になりたす ON に蚭定された堎合 機胜は有効になりたすが LIKE 述郚に察する範囲のマヌゞは適甚できたせん デフォルトは ON です この蚭定に぀いおの远加情報は SQL/MX 3.4 Query Guide を参照しおください ON たたは OFF に蚭定したす このパフォヌマンス最適化により コンパむラヌは最小 (MIN) たたは最倧 (MAX) 集玄匏を回答するために 結果の行たたは遞択した数の行のみを読み蟌みできたす コンパむラヌがこのタむプの最適化を実行できるのは MIN-MAX 列の行が自然な順序である堎合のみです OFF のずき このタむプの最適化は無効です デフォルトは ON です このデフォルトの倀は リモヌトノヌドぞの / からのメッセヌゞ転送コストの芁因ずしお䜿甚されたす これは 物理的通信リンクの垯域幅に反映されたす この倀は ロヌカルノヌドぞの / からのメッセヌゞ転送コストの芁因 (0.000046) より倧きく蚭定する必芁がありたす 蚱容倀 :1.175494351e-38~3.402823466e+038 デフォルト倀は 0.00005 です アむドルの MXCMP コンパむラヌプロセスのタむムアりト時間を秒単䜍で指定したす 倀が蚭定されるず MXCMP アむドルコンパむラヌプロセスが䜕時たでアクティブでいられるか および指定秒数埌にプロセスが自動終了するこずが確定したす デフォルト倀は-1 です 蚱容倀 :-1 300~2147483647 ON OFF RESET たたは SYSTEM に蚭定したす デフォルトは ON です ON に蚭定された堎合 NonStop SQL/MX は MultiUnion ノヌドを生成したす OFF に蚭定された堎合 NonStop SQL/MX は MultiUnion ノヌドを生成したせん RESET たたは SYSTEM に蚭定された堎合 デフォルト倀がリセットされたす MultiUnion 挔算子の詳现は SQL/MX 3.4 Query Guide を参照しおください 170

NJ_DEEP_NESTING_LIMIT NUMBER_OF_USERS ネステッド結合の内偎で蚱容されるスキャンの回数を決定したす デフォルト倀は 3 です 倧量のメモリを䜿甚する同時ク゚リを実行できるナヌザヌの数を蚭定したす これらのク゚リでは オプティマむザヌがこの数倀を䜿甚しお 1 人のナヌザヌが䜿甚できるメモリ量を制限したす 数倀が倧きくなるほど 倧量のメモリを䜿甚する挔算子 ( たずえばハッシュ結合 ) が䜿甚できるメモリは少なくなりたす 蚱容倀 :1~4294967295 デフォルト蚭定は 1 で 利甚できるすべおのメモリは 1 ぀のク゚リに割り圓おできるこずを意味したす OLT_QUERY_OPT OPTIMIZATION_LEVEL OPTIMIZER_HINTS_WARNING_LEVEL OPTS_PUSH_DOWN_DAM ON たたは OFF に蚭定したす ON に蚭定された堎合 NonStop SQL/MX で 単䞀テヌブルのナニヌク SELECT のような 単玔な SQLlク゚リに察するファヌストパス評䟡方匏が有効になりたす この蚭定に぀いおの远加情報は SQL/MX 3.4 Query Guide を参照しおください デフォルトは ON です 0 2 3 5 を蚭定しお SQL ク゚リの最適化に察しお増加する掻動を瀺したす 倀の 1 ず 4 は将来の䜿甚に備えお予玄されおいたす この蚭定に぀いおの远加情報は SQL/MX 3.4 Query Guide を参照しおください デフォルト倀は 3 です 0~5 の倀を蚭定したす 無芖されたヒントに察しお SQL/MX コンパむラヌが発行する譊告のタむプを瀺したす 倀の意味は 以䞋のずおりです 0 - 譊告の発行なし 1 - 重耇したヒントに察しお譊告を発行したす 2 - 重耇および競合したヒントに察しお譊告を発行したす 3 - 重耇 競合 および無効なヒントに察しお譊告を発行したす 4 - 今埌䜿甚するために予玄されおいたす SQL/MX R3.4 のレベル 5 ず同じです 5 - 重耇 競合 無効 および無芖されたヒントに察しお譊告を発行したす この蚭定に぀いおの远加情報は SQL/MX 3.4 Query Guide を参照しおください ON (1) たたは OFF (0) に蚭定したす ON に蚭定された堎合 システムは耇合文たたはネステッド結合に察しおプランを DAM にプッシュダりンするこずを考慮したす OFF に蚭定された堎合 システムはこのオプションを考慮したせん プランを DAM にプッシュダりンするこずが可胜な堎合 ( 倀が ON) でも NonStop SQL/MX が コストが理由でプッシュダりンを遞択しないこずもありたす この蚭定に぀いおの远加情報は SQL/MX 3.4 Query Guide を参照しおください デフォルトは OFF です 171

PARALLEL_NUM_ESPS PREFERRED_PROBING_ORDER_FOR_NESTED _JOIN REMOTE_ESP_ALLOCATION SORT_MAX_HEAP_SIZE_MB UNION_TRANSITIVE_PREDICATES キヌワヌド SYSTEM を蚭定するか 特定の挔算子甚に䜿甚する EPS の最倧数 ( 笊号なしの正の敎数 ) を蚭定したす SYSTEM に蚭定された堎合 NonStop SQL/MX が倀を蚈算したす 数倀に蚭定された堎合 数倀はクラスタヌ内の CPU の数より少ない必芁がありたす この蚭定に぀いおの远加情報は SQL/MX 3.4 Query Guide を参照しおください 蚱容倀 :1~2147483647 デフォルトは SYSTEM ( 䞊限なし ) です ON たたは OFF に蚭定したす ON のずき オプティマむザヌがプランを生成し 考慮したす このプランでは 内郚テヌブルの行はアクセスパスのキヌ順に読み蟌む必芁がありたす OFF のずき オプティマむザヌは 内郚テヌブルの行をアクセスパスのキヌ順に読み出す必芁のあるプランを生成したせん デフォルトは OFF です ON OFF たたは SYSTEM に蚭定したす ON のずき NonStop SQL/MX は 特定のク゚リの察象範囲のすべおのシステムで ESP を起動するこずを匷制されたす すべおのタヌゲットシステムはアクティブなシステムになりたす OFF のずき NonStop SQL/MX は すべおの ESP をロヌカルシステム䞊のみで起動するよう匷制されたす SYSTEM のずき NonStop SQL/MX は どのタヌゲットシステムで ESP を起動するかを決定したす この堎合 アクティブずしお遞択されたシステムは タヌゲットシステムのサブセットです SYSTEM の蚭定は REMOTE_ESP_ALLOCATION 甚に掚奚される蚭定です この蚭定に぀いおの远加情報は SQL/MX 3.4 Query Guide を参照しおください デフォルトは SYSTEM です ゜ヌト挔算子に関係する操䜜甚のヒヌプメモリサむズの割り圓おにデフォルト倀を䜿甚したす 最小倀ず最倧倀は それぞれ 0 ず 1024 です デフォルト倀は 20 です ON OFF RESET たたは SYSTEM に蚭定したす ON に蚭定した堎合 NonStop SQL/MX は UNION の結合に察する過枡的述郚を生成したす OFF に蚭定した堎合 NonStop SQL/MX は UNION の結合に察する過枡的述郚を生成したせん デフォルトは ON です UPD_ORDERED ON たたは OFF に蚭定したす ON のずき オプティマむザヌはプランを生成し 考慮したす このプランでは行の挿入 曎新 削陀で クラスタリングキヌ順に実行する必芁がありたす OFF のずき オプティマむザヌは 行の挿入 曎新 削陀で クラスタリングキヌ順に実行する必芁のあるプランを生成したせん デフォルトは ON です 172

ZIG_ZAG_TREES ON たたは OFF に蚭定したす 線圢のツリヌに加えおゞグザグのツリヌぞの考慮を有効化 (ON) たたは無効化 (OFF) したす この蚭定に぀いおの远加情報は SQL/MX 3.4 Query Guide を参照しおください デフォルトは OFF です 泚蚘 : CHECK_CONSTRAINT_PRUNING MULTIUNION および UNION_TRANSITIVE_PREDICATES の CQD は J06.08 以降の J シリヌズ RVU および H06.19 以降の H シリヌズ RVU を実行しおいるシステムでのみ䜿甚できたす ク゚リの最適化に぀いおの詳现は SQL/MX 3.4 Query Guide を参照しおください 173