SQL対話式セッションの開始 (STRSQL)
| 実行可能場所: 対話環境 (*INTERACT *IPGM *IREXX *EXEC) スレッド・セーフ: いいえ |
パラメーター 例 エラー・メッセージ |
SQL開始(STRSQL)コマンドは対話式SQLプログラムを開始します。このプログラムは,SQLステートメント入力画面をただちに表示する対話式SQLプログラムのステートメント入力を開始します。この画面によって,SQLステートメントを対話式環境で作成,編集,入力,および実行することができます。プログラム実行中のメッセージはすべてこの画面に表示されます。
| 上 |
パラメーター
| キーワード | 記述 | 選択項目 | ノーツ |
|---|---|---|---|
| COMMIT | コミットメント制御 | *NONE, *CHG, *CS, *ALL, *RR, *NC, *UR, *RS | オプショナル, 定位置 1 |
| NAMING | 命名規則 | *SYS, *SQL | オプショナル, 定位置 2 |
| PROCESS | ステートメント処理 | *RUN, *VLD, *SYN | オプショナル, 定位置 3 |
| LIBOPT | ライブラリー・オプション | 名前, *LIBL, *USRLIBL, *ALLUSR, *ALL, *CURLIB | オプショナル, 定位置 4 |
| LISTTYPE | リスト・タイプ | *ALL, *SQL | オプショナル, 定位置 5 |
| REFRESH | データの最新表示 | *ALWAYS, *FORWARD | オプショナル, 定位置 6 |
| ALWCPYDTA | データのコピー可能 | *YES, *OPTIMIZE, *NO | オプショナル |
| DATFMT | 日付形式 | *JOB, *USA, *ISO, *EUR, *JIS, *MDY, *DMY, *YMD, *JUL | オプショナル |
| DATSEP | 日付区切り文字 | *JOB, '/', '.', ',', '-', ' ', *BLANK | オプショナル |
| TIMFMT | 時刻形式 | *HMS, *USA, *ISO, *EUR, *JIS | オプショナル |
| TIMSEP | 時刻区切り文字 | *JOB, ':', '.', ',', ' ', *BLANK | オプショナル |
| DECPNT | 小数点 | *JOB, *PERIOD, *COMMA, *SYSVAL | オプショナル |
| SRTSEQ | ソート順序 | 単一値: *HEX, *JOB, *JOBRUN, *LANGIDUNQ, *LANGIDSHR その他の値: 修飾オブジェクト名 |
オプショナル |
| 修飾子 1: ソート順序 | 名前 | ||
| 修飾子 2: ライブラリー | 名前, *LIBL, *CURLIB | ||
| LANGID | 言語ID | 文字値, *JOB, *JOBRUN | オプショナル |
| PGMLNG | プログラム言語 | *NONE, *C, *CBL, *PLI, *RPG, *FTN | オプショナル |
| SQLSTRDLM | SQLストリング区切り文字 | *QUOTESQL, *APOSTSQL | オプショナル |
| 上 |
コミットメント制御 (COMMIT)
SQLステートメントがコミットメント制御によって実行されるかどうかを指定します。
- *NONE または *NC
- コミットメント制御は使用されないことを指定します。他のジョブのコミットされていない変更は表示することができます。プログラム中にSQL DROP SCHEMAステートメントが組み込まれている場合には,*NONEまたは*NCを使用しなければなりません。
- *CHG または *UR
- SQL ALTER, CALL, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME,およびREVOKEステートメント中で参照されたオブジェクトと,更新,削除,および挿入された行が,作業単位(トランザクション)の終わりまでロックされることを指定します。他のジョブのコミットされていない変更は表示することができます。
- *CS
- SQL ALTER, CALL, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME,およびREVOKEステートメント中で参照されたオブジェクトと,更新,削除,および挿入された行が,作業単位(トランザクション)の終わりまでロックされることを指定します。選択されたが更新されていない行は,次の行が選択されるまでロックされます。他のジョブのコミットされていない変更を表示することはできません。
- *ALL または *RS
- SQL ALTER, CALL, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME,およびREVOKEステートメント中で参照されたオブジェクトと,選択,更新,削除,および挿入された行が,作業単位(トランザクション)の終わりまでロックされることを指定します。他のジョブのコミットされていない変更を表示することはできません。
- *RR
- SQL ALTER, CALL, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME,およびREVOKEステートメント中で参照されたオブジェクトと,選択,更新,削除,および挿入された行が,作業単位(トランザクション)の終わりまでロックされることを指定します。他のジョブのコミットされていない変更を表示することはできません。SELECT, UPDATE, DELETE, およびINSERTステートメント中で参照されたすべてのテーブルは,作業単位(トランザクション)の終わりまで排他的にロックされます。
| 上 |
命名規則 (NAMING)
SQLステートメントでオブジェクトに使用する命名規則を指定します。
- *SYS
- システムの命名規則(ライブラリー名/ファイル名)が使用されます。
- *SQL
- SQL命名規則(スキーマ名.テーブル名)が使用されます。
| 上 |
ステートメント処理 (PROCESS)
ステートメントの処理に使用する値を指定します。
- *RUN
- ステートメントは,構文検査とデータ検査を行ってから,実行されます。
- *VLD
- ステートメントは,構文検査とデータ検査を行いますが,実行されません。
- *SYN
- ステートメントの構文検査だけが行われます。
| 上 |
ライブラリー・オプション (LIBOPT)
SQLステートメント入力画面からリスト・サポートを要求(F4, F16, F17, F18)した時に表示されるライブラリーのリストを指定します。指定したライブラリーに対する*EXECUTE権限がない場合には,そのライブラリーは表示されません。
- *LIBL
- 最初の一致が見つかるまで,ジョブのライブラリー・リスト中のすべてのライブラリーが検索されます。
- *CURLIB
- ジョブの現行ライブラリーが表示されます。
- *USRLIBL
- ジョブのライブラリー・リストのユーザー部分にあるライブラリーだけが表示されます。
- *ALL
- QSYSを含むシステム上のすべてのライブラリーが表示されます。
- *ALLUSR
- すべてのユーザー・ライブラリーが検索されます。その名前が英字Qで始まっていないすべてのライブラリー(ただし,次のライブラリーを除く)が検索されます。
#CGULIB #DSULIB #SEULIB #COBLIB #RPGLIB #DFULIB #SDALIB
以下のQXXXライブラリーはIBM提供のライブラリーですが,通常これらのライブラリーには頻繁に変更されるユーザー・データが入っています。したがって,これらのライブラリーは「ユーザー・ライブラリー」と見なされ,検索されます。
QDSNX QRCL QUSRSYS QGPL QS36F QUSRVXRXMX QGPL38 QUSER38 QPFRDATA QUSRINFSKR
注: ユーザーは,各リリースごとにQUSRVXRXMXの形式をもった異なるライブラリー名を作成することができます。VXRXMXは,そのライブラリーのバージョン,リリース,およびモディフィケーション・レベルです。
- 名前
- 表示するライブラリーの名前を指定してください。
| 上 |
リスト・タイプ (LISTTYPE)
「SQLステートメントの入力」画面(F16, F17,およびF18)またはプロンプト(F4)画面からリスト・サポートを要求した時に表示されるオブジェクトのタイプを指定します。
- *ALL
- すべてのオブジェクトが表示されます。
- *SQL
- SQLで作成されたオブジェクトだけが表示されます。
| 上 |
データの最新表示 (REFRESH)
画面選択出力データの最新表示の時期を指定します。このパラメーターは,一時的な結果の作成を要求するSQL SELECTステートメントには適用されません。
- *ALWAYS
- データは常に最新表示されます。このパラメーターに*ALWAYSを指定し,データのコピー可能 (ALWCPYDTA)パラメーターに*OPTIMIZEを指定することはできません。
- *FORWARD
- データが最新表示されるのは,ユーザーが最初にデータの終わりへ順方向にページ送りした時だけです。その後では,データは最新表示されません。
| 上 |
データのコピー可能 (ALWCPYDTA)
SELECTステートメントの実行時にデータのコピーを使用できるかどうかを指定します。
- *YES
- SELECTステートメントを実行するために必要な場合にのみ,データのコピーを使用することができます。
- *OPTIMIZE
- システムは,データベースから取り出されたデータを直接使用するか,あるいはデータのコピーを使用するかを選択します。どちらを選択した方がパフォーマンスが良いかによって,選択が決定されます。
この値によって,全体のQUERYに必要な時間が減少します。データのコピーは,結果のテーブルの最初の行を戻す前に作成されていなければならないので,最初の行を取り出すための時間が増える場合があります。
- *NO
- データのコピーを使用することはできません。SELECTステートメント中の文節にデータのコピーが必要な場合には,エラー・メッセージが戻されます。SELECTステートメントが正常に実行された場合には,それは現行データが使用されたためです。
| 上 |
日付形式 (DATFMT)
結果の日付のカラムにアクセスする時に使用する形式を指定します。すべての出力日付フィールドは指定した形式で戻されます。この値の指定によって,入力日付ストリングに対して,日付が有効な形式であるかどうかを判別します。
注: *USA, *ISO, *EUR,または*JISの形式を使用する入力日付ストリングは常に有効です。
IBM I以外のシステム上にあるリレーショナル・データベースと接続する場合には,この形式は*USA, *ISO, *EUR,または*JISでなければなりません。
- *JOB
- プリコンパイル時,または新しい対話式SQLセッションの確立時にジョブに対して指定された形式が使用されます。
ジョブの現行日付形式を判別するためには,ジョブ表示(DSPJOB)コマンドを使用してください。
- *USA
- 米国日付形式MM/DD/YYYYが使用されます。
- *ISO
- 国際標準化機構(ISO)日付形式YYYY-MM-DDが使用されます。
- *EUR
- 欧州日付形式DD.MM.YYYYが使用されます。
- *JIS
- 日本工業規格日付形式YYYY-MM-DDが使用されます。
- *MDY
- 日付形式MM/DD/YYが使用されます。
- *DMY
- 日付形式DD/MM/YYが使用されます。
- *YMD
- 日付形式YY/MM/DDが使用されます。
- *JUL
- 年間通算日形式YY/DDDが使用されます。
| 上 |
日付区切り文字 (DATSEP)
日付の結果のカラムにアクセスする時に使用する区切り記号を指定します。
注: このパラメーターが適用されるのは,*JOB, *MDY, *DMY, *YMD,または*JULが日付形式 (DATFMT)パラメーターに指定された時だけです。
- *JOB
- プリコンパイル時,新しい対話式SQLセッションの作成時,またはSQLステートメント実行(RUNSQLSTM)コマンドの実行時にジョブに対して指定された日付区切り記号。
ジョブの現行日付の区切り記号の値を判別するためには,ジョブ表示(DSPJOB)コマンドを使用してください。
- '/'
- スラッシュが日付区切り記号として使用されます。
- '.'
- ピリオドが日付区切り記号として使用されます。
- '-'
- ダッシュが日付区切り記号として使用されます。
- ','
- コンマが日付区切り記号として使用されます。
- ' ' または *BLANK
- ブランクが日付区切り記号として使用されます。
| 上 |
時刻形式 (TIMFMT)
時刻の結果のカラムにアクセスする時に使用する形式を指定します。すべての出力時刻フィールドはユーザー指定の形式で戻されます。この値の指定によって,入力時刻ストリングに対して,時刻が有効な形式で指定されたかどうかを判別します。
注: *USA, *ISO, *EUR,または*JISの形式を使用する入力時刻ストリングが常に使用されます。
別のIBM Iではないシステム上にあるリレーショナル・データベースに接続する場合には,時刻形式はコロンまたはピリオドの時刻区切り記号を使用する*USA, *ISO, *EUR, *JIS,または*HMSでなければなりません。
- *HMS
- HH:MM:SSの形式が使用されます。
- *USA
- 米国の時刻形式HH:MMXXが使用されます。ここでXXはAMまたはPMです。
- *ISO
- 国際標準化機構(ISO)時刻形式HH.MM.SSが使用されます。
- *EUR
- 欧州時刻形式HH.MM.SSが使用されます。
- *JIS
- 日本工業規格時刻形式HH:MM:SSが使用されます。
| 上 |
時刻区切り文字 (TIMSEP)
時刻の結果のカラムにアクセスする時に使用される区切り記号を指定します。
注: このパラメーターが適用されるのは,*HMSが時刻形式 (TIMFMT)パラメーターに指定された時だけです。
- *JOB
- プリコンパイル時,新しい対話式SQLセッションの作成時,またはRUNSQLSTMの実行時にジョブに対して指定された時刻区切り記号が使用されます。
ジョブの現在の時刻区切り記号値を判別するためには,ジョブ表示(DSPJOB)コマンドを使用してください。
- ':'
- コロンが時刻区切り記号として使用されます。
- '.'
- ピリオドが時刻区切り記号として使用されます。
- ','
- コンマが時刻区切り記号として使用されます。
- ' ' または *BLANK
- ブランクが時刻区切り記号として使用されます。
| 上 |
小数点 (DECMPT)
SQLステートメントの数字定数に使用される小数点文字を指定します。この値は,文字と数値との間のキャストの時にも小数点文字として使用されます。
- *JOB
- 小数点の表現は,ステートメントを実行中のジョブによって使用された値です。
- *SYSVAL
- QDECFMTシステム値が小数点文字として使用されます。
- *PERIOD
- ピリオドによって小数点を表します。
- *COMMA
- コンマによって小数点を表します。
| 上 |
ソート順序 (SRTSEQ)
SQLステートメント入力画面でSQLステートメントのストリングの比較で使用される分類順序テーブルを指定します。
単一値
- *JOB
- ユーザーが対話式SQLを開始する時に,SRTSEQ値が検索されます。
- *JOBRUN
- ユーザーが対話式SQLを開始する度に,ジョブのSRTSEQ値が検索されます。
- *LANGIDUNQ
- 固有の重み分類テーブルが使用されます。
- *LANGIDSHR
- 共用重み分類テーブルが使用されます。
- *HEX
- 分類順序テーブルを使用しないで,文字の16進数値を使用して分類順序を判別します。
修飾子1: ソート順序
- 名前
- 対話式SQLセッションで使用される分類順序テーブルの名前を指定します。
修飾子2: ライブラリー
- *LIBL
- 最初の一致が見つかるまで,ジョブのライブラリー・リスト中のすべてのライブラリーが検索されます。
- *CURLIB
- ジョブの現行ライブラリーが検索されます。ジョブの現行ライブラリーとしてライブラリーが指定されていない場合には,QGPLライブラリーが使用されます。
- 名前
- 検索するライブラリーの名前を指定してください。
| 上 |
言語ID (LANGID)
SRTSEQ(*LANGIDUNQ)またはSRTSEQ(*LANGIDSHR)が指定された時に使用される言語識別コードを指定します。
- *JOB
- ユーザーが新しい対話式SQLを開始する時に,ジョブに指定されたLANGID値が使用されます。
- *JOBRUN
- ユーザーが対話式SQLを開始する度に,ジョブのLANGID値が検索されます。
- 言語ID
- 使用される言語識別コードを指定します。
| 上 |
プログラム言語 (PGMLNG)
使用するプログラム言語構文規則を指定します。このパラメーターを使用するためには,ステートメント処理 (PROCESS)パラメーターに*SYNを指定しなければなりません。
- *NONE
- 特定言語の構文検査規則を使用しないことを指定します。
- *C
- C言語の構文規則を使用して構文検査を行うことを指定します。
- *CBL
- COBOL言語の構文規則を使用して構文検査を行うことを指定します。
- *PLI
- PL/I言語の構文規則を使用して構文検査を行うことを指定します。
- *RPG
- RPG言語の構文規則を使用して構文検査を行うことを指定します。
- *FTN
- FORTRAN言語の構文規則を使用して構文検査を行うことを指定します。
| 上 |
SQLストリング区切り文字 (SQLSTRDLM)
プログラム言語 (PGMLNG)パラメーターに*CBLを指定した場合には,SQLストリング区切り文字を指定します。
- *QUOTESQL
- SQLストリング区切り文字は引用符(")で表現されます。
- *APOSTSQL
- SQLストリング区切り文字はアポストロフィ(')で表現されます。
| 上 |
例
STRSQL
このコマンドは,対話式SQLプログラムを開始します。このプログラムは,SQLステートメント入力画面をただちに表示する対話式SQLプログラムのステートメント入力を開始します。この画面によって,SQLステートメントを対話式環境で作成,編集,入力,および実行することができます。
| 上 |
エラー・メッセージ
*ESCAPE メッセージ
- CPF9801
- ライブラリー&3にオブジェクト&2が見つからない。
- CPF9802
- &3のオブジェクト&2は認可されていない。
- CPF9810
- ライブラリー&1が見つかりません。
- CPF9820
- ライブラリー&1の使用は認可されていない。
- CPF9822
- ライブラリー&2のファイル&1は認可されていない。
- CPF9830
- ライブラリー&1を割り当てることができない。
- SQL0113
- 名前&1を使用することはできない。
- SQL6141
- 現在対話式SQLを使用することはできない。
- SQL6145
- 対話式SQLセッションがシステムの限界を超えた。
- SQL6332
- 権限リスト&1が存在していない。
- SQL6342
- ソート順序&1が正しくない。
- SQL6343
- 言語識別コード&1が正しくない。
- SQL9006
- DB2 Query Manager and SQL Development Kitのインストール・レベルがオペレーティング・システムと同じでない。
- SQL9012
- IBM DB2 Query Manager and SQL Development Kit for iが使用可能ではありません。
| 上 |