スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)
監査証跡表の列構成を次の表に示します。
表23-19 監査証跡表の列構成
列名称 | 列の内容 | 列のデータ型 | NULL値 の指定 |
|
---|---|---|---|---|
USER_NAME | 監査対象のイベント実行者の認可識別子です。 HiRDB管理者や一般OSユーザが実行するコマンド又はユティリティの場合は,OSユーザ名が記録されます。 |
MVARCHAR(30) | なし | |
EXEC_DATE | イベントの実行日です。 イベント実行日とは,監査証跡の出力要求をしたサーバが,監査証跡バッファに監査証跡の出力を要求するときの標準時刻の日を示しています。 |
DATE | なし | |
EXEC_TIME | イベントの実行時刻です。 イベント実行時刻とは,監査証跡の出力要求をしたサーバが,監査証跡バッファに監査証跡の出力を要求するときの標準時刻を示しています。 |
TIME | なし | |
EXEC_TIME_MICRO | イベントの実行時刻です(単位:マイクロ秒)。 イベント実行時刻とは,監査証跡の出力要求をしたサーバが,監査証跡バッファに監査証跡の出力を要求するときの標準時刻を示しています。 |
INTEGER | なし | |
EVENT_TYPE | イベントタイプです。イベントタイプ及びイベントサブタイプについては,「(1)イベントタイプ及びイベントサブタイプの詳細」を参照してください。 | CHAR(3) | なし | |
EVENT_SUBTYPE | イベントサブタイプです。イベントタイプ及びイベントサブタイプについては,「(1)イベントタイプ及びイベントサブタイプの詳細」を参照してください。 | CHAR(3) | なし | |
EVENT_RESULT | イベントの実行結果です。権限のチェック又はイベントが成功したかどうかが記録されます。 S:権限のチェック又はイベントに成功しました。 F:権限のチェック又はイベントに失敗しました。 U:イベントの一部が失敗しました。 |
CHAR(1) | なし | |
USED_PRIVILEGE | イベントを実行したときに使用した権限です。イベントの終了時には‘△△△’(空白3文字)が記録されます。 AUD:監査権限 CNT:CONNECT権限 DBA:DBA権限 DEL:DELETE権限 INS:INSERT権限 OWN:所有者 RDA:RDエリア利用権限 SCH:スキーマ定義権限 SEL:SELECT権限 SYS:HiRDB管理者 UPD:UPDATE権限 USG:順序数生成子使用権限 |
CHAR(3) | なし | |
UAP_NAME | イベント発行元のUAP名です。※1 UAP名が30文字未満の場合は,UAP名の後ろに’△’(空白)が合計30文字になるまで設定されます。 それ以外の場合はNULL値が記録されます。 |
VARCHAR(30) | あり | |
SERVICE_NAME | イベント発行元のUAPが要求したサービス名です。OpenTP1のUAPの場合はSPP又はMHPに要求したサービスの名称になります。 OpenTP1以外のUAPの場合,連続した31個の*(アスタリスク)が記録されます。 それ以外の場合はNULL値が記録されます。 |
VARCHAR(31) | あり | |
IP_ADDRESS | イベント発行元のIPアドレスです。イベント発行元のIPアドレスが識別できない場合はNULL値が記録されます。 | VARCHAR(63) | あり | |
PROCESS_ID | イベント発行元のプロセスIDです。イベント発行元のプロセスIDが識別できない場合はNULL値が記録されます。 コマンド又はユティリティの場合は,実行されたコマンドのプロセスIDが記録されます。 システムによる監査証跡の上書き開始は監査証跡管理サーバプロセスのプロセスIDが記録されます。 Type4 JDBCドライバから接続した場合は,0が記録されます。 それ以外の場合は,CONNECTしたシングルサーバ又はフロントエンドサーバのプロセスIDが記録されます。 |
INTEGER | あり | |
THREAD_ID | イベント発行元のスレッドIDです。イベント発行元のスレッドIDが識別できない場合はNULL値が記録されます。 | INTEGER | あり | |
HOST_NAME | イベントを受け付けたホスト名です。pdunitオペランドの-xオプションに指定したホスト名が記録されます。系切り替え機能を使用している場合は,現用系のホスト名が記録されます。 イベントを受け付けたホスト名が識別できない場合はNULL値が記録されます。 |
VARCHAR(32) | あり | |
UNIT_NAME | イベントを受け付けたユニット識別子です。pdunitオペランドの-uオプションに指定したユニット識別子が記録されます。 イベントを受け付けたユニット識別子が識別できない場合はNULL値が記録されます。 |
CHAR(4) | あり | |
SERVER_NAME | イベントを受け付けたサーバ名です。HiRDB/シングルサーバの場合はシングルサーバ名が,HiRDB/パラレルサーバの場合はフロントエンドサーバ名が記録されます。pdstartオペランドの-sオプションに指定したサーバ名が記録されます。 イベントを受け付けたサーバ名が識別できない場合はNULL値が記録されます。 |
VARCHAR(8) | あり | |
CONNECT_NUMBER | イベント発行者のコネクト通番です。イベント発行者のコネクト通番が識別できない場合はNULL値が記録されます。 | INTEGER | あり | |
SQL_NUMBER | イベントのSQL通番です。イベントのSQL通番が識別できない場合はNULL値が記録されます。 | INTEGER | あり | |
OBJECT_SCHEMA | オブジェクト情報の詳細※2 | イベントの権限チェックの対象になるオブジェクトの所有者名です。オブジェクトの所有者が識別できない場合はNULL値が記録されます。 | MVARCHAR(30) | あり |
OBJECT_NAME | イベントの権限チェックの対象になるオブジェクト名です。オブジェクト名が識別できない場合はNULL値が記録されます。 | MVARCHAR(30) | あり | |
OBJECT_TYPE | イベントの権限チェックの対象になるオブジェクトの種別です。オブジェクトの種別が識別できない場合はNULL値が記録されます。 ALS:別名 AUF:監査証跡ファイル FID:外部インデクス FNC:関数 FSV:外部サーバ FTB:外部表 IDX:インデクス LST:リスト PRC:プロシジャ RDA:RDエリア SCH:スキーマ SEQ:順序数生成子 TBL:表 TRG:トリガ TYP:データ型 USM:ユーザマッピング VIW:ビュー表 |
CHAR(3) | あり | |
PRIVILEGE_TYPE | イベントによって付与,削除,又は変更した権限です。権限が識別できない場合はNULL値が記録されます。 AUD:監査権限 CNT:CONNECT権限 DBA:DBA権限 DEL:DELETE権限 INS:INSERT権限 RDA:RDエリア利用権限 SCH:スキーマ定義権限 SEL:SELECT権限 UPD:UPDATE権限 |
CHAR(3) | あり | |
PRIVILEGE_SCHEMA | イベントによって権限を付与,削除,又は変更されたユーザの認可識別子です。又は,イベント対象になったユーザの認可識別子です。 認可識別子が識別できない場合はNULL値が記録されます。
|
MVARCHAR(30) | あり | |
SECURITY_OPERAND | セキュリティ監査機能に関するオペランドの値です。HiRDB開始時のオペランドの値です。開始時以外はNULL値が記録されます。 セキュリティ監査機能に関するオペランドの値については,「(2)セキュリティ監査機能に関するオペランドの値」を参照してください。 |
VARCHAR(256) | あり | |
AUDIT_TRAIL_TYPE | 監査証跡の種別です。イベントの結果を示す監査証跡と,イベント実行中の権限チェックの結果を示す監査証跡を区別するための値を記録します。 権限チェック:NULL イベント終了:E |
CHAR(1) | あり | |
SQL_CODE | SQLコード又は終了コードです。監査記録の対象となるイベント終了時,SQLによるイベントに対してはSQLコードを,ユティリティ(又はコマンド)に対しては終了コードを記録します。権限チェック時はNULL値が記録されます。 イベント終了時のイベント成否エントリの値は,このコードの値によって決定します。監査記録エントリの各コードとイベント成否の詳細については,「(3)SQLコード又は終了コードとイベント成否の詳細」を参照してください。 |
INTEGER | あり | |
FROM_AUDFILE_NAME | スワップ元の監査証跡ファイル名です。監査証跡ファイル名が識別できない場合はNULL値が記録されます。 | MVARCHAR(30) | あり | |
TO_AUDFILE_NAME | スワップ先の監査証跡ファイル名です。監査証跡ファイル名が識別できない場合はNULL値が記録されます。 | MVARCHAR(30) | あり | |
SECURITY_PARM_TYPE | CONNECT関連セキュリティ機能に関する変更種別です。※3 | CHAR(4) | あり | |
BEFORE_SECURITY_PARM | 変更前のCONNECT関連セキュリティ機能の設定値です。※3 設定値が10文字未満の場合,設定値の後ろを空白で埋めて(設定値+空白が10文字になるまで)記録されます。 |
CHAR(10) | あり | |
AFTER_SECURITY_PARM | 変更後のCONNECT関連セキュリティ機能の設定値です。※3 設定値が10文字未満の場合,設定値の後ろを空白で埋めて(設定値+空白が10文字になるまで)記録されます。 |
CHAR(10) | あり | |
AUDIT_TABLE_OPTION | 監査証跡表オプションです。権限チェック時は記録されません。次に示す場合に記録されます。
V:操作対象オブジェクトが監査証跡表を基表としたビュー表 L:操作対象オブジェクトが監査証跡表を基表としたリスト NULL値:上記以外又は権限チェック時 監査証跡表オプションの出力有無の詳細については,「(5)監査証跡表オプションの出力有無」を参照してください。 |
CHAR(1) | あり | |
ACCESS_COUNT | ユーザが,オブジェクト(実表,ビュー表,外部表,表別名,及びリスト)に対して検索,挿入,更新,及び削除をした行数です。取得できるアクセス件数は0〜2147483647で,アクセス件数の取得に失敗した場合はNULL値が記録されます。 アクセス件数の詳細については,「(6)アクセス件数の詳細」を参照してください。 |
INTEGER | あり | |
SQL_SOURCE | 実行したSQL文です。一つのSQL文で複数のオブジェクトが操作される場合,最初の監査証跡にSQL文が記録され,以降の監査証跡のSQL文にはNULL値が記録されます。また,次の場合もNULL値が記録されます。
|
BINARY(2000000) | あり | |
SQL_DATA | 実行したSQL文で入力に指定した埋込み変数,又はSQL記述領域のデータが記録されます。一つのSQL文で複数のオブジェクトが操作される場合,最初の監査証跡にSQLデータが記録され,以降の監査証跡のSQLデータにはNULL値が記録されます。また,次の場合もNULL値が記録されます。
|
BINARY(1000000) | あり | |
USER_INFO_1 | 埋込み言語DECLARE AUDIT INFO SETを宣言し,ユーザ付加情報1〜3に埋込み変数を設定している場合,各ユーザ付加情報の値が記録されます。ただし,次の場合はNULL値が記録されます。
|
VARCHAR(100) | あり | |
USER_INFO_2 | VARCHAR(100) | あり | ||
USER_INFO_3 | VARCHAR(100) | あり | ||
PRODUCT_INFO_1 | システムが使用する情報です。該当する情報がない場合,又は情報が認識できない場合は,NULL値が記録されます。 | VARCHAR(255) | あり | |
PDLOAD_TIMESTAMP | pdloadコマンド実行による監査証跡表へのデータ登録(監査証跡表へのデータロード)時の時刻印です。※4 時刻印はシステムマネジャのあるサーバマシンの時刻印を使用し,一度のpdloadの実行ですべて同じ値を記録します。 |
TIMESTAMP(2) | あり | |
PDLOAD_SEQNUM | 1回のpdloadコマンド実行による監査証跡表へのデータ登録時の通番です。※4 pdloadコマンドの実行ごとに1〜10けたの10進数の値(1〜(231−1))を設定します。pdloadコマンドを実行している間に最大値(231−1)に到達した場合,1に戻して記録します。 |
INTEGER | あり |
SELECT * FROM SQL_AUDIT_TRAIL WHERE UAP_NAME=CAST('UAP11' AS CHAR(30));
イベントタイプ及びイベントサブタイプの詳細を次の表に示します。
監査イベント | イベント タイプの値 |
イベントサブ タイプの値 |
イベント |
---|---|---|---|
システム管理者セキュリティイベント | SYS | STR | HiRDBの開始 |
STP | HiRDB終了 | ||
MOD | 監査人の登録,又は監査証跡表の作成(pdmodコマンド) | ||
ARM | 監査証跡ファイルの削除(pdaudrmコマンド) | ||
ABG | 監査証跡の取得開始(pdaudbeginコマンド,HiRDB起動) | ||
AEN | 監査証跡の取得終了(pdaudendコマンド,HiRDB停止) | ||
OVW | 監査証跡ファイルの上書き開始 | ||
CLK | 連続認証失敗アカウントロック状態への遷移 | ||
CUL | 連続認証失敗アカウントロック状態の解除 | ||
PLK | パスワード無効アカウントロック状態への遷移 | ||
PUL | パスワード無効アカウントロック状態の解除 | ||
SPR | CONNECT関連セキュリティ機能に関するオペランドの指定値変更 | ||
ULK | pdacnlckコマンドの実行 | ||
監査人セキュリティイベント | AUD | ALD | 監査人による監査証跡表へのデータロード(pdloadコマンド) |
ATL | HiRDBによる監査証跡表へのデータロード(pdloadコマンド) | ||
ASW | 監査証跡ファイルのスワップ(pdaudswapコマンド) | ||
CRT | 監査対象イベントの定義(CREATE AUDIT) | ||
DRP | 監査対象イベントの削除(DROP AUDIT) | ||
GRT | 監査人のパスワード変更(GRANT AUDIT) | ||
ATB | 監査証跡表の自動データロード機能再開始(pdaudatld -bコマンド) | ||
ATT | 監査証跡表の自動データロード機能停止(pdaudatld -tコマンド,データロード失敗) | ||
APT | JP1/NETM/Audit用監査ログ出力ファイルへの出力(pdaudputコマンド) | ||
セッションセキュリティイベント | SES | CNT | HiRDBへの接続(CONNECT文) |
ATH | ユーザの変更(SET SESSION AUTHORIZATION文) | ||
DIS | HiRDBとの切り離し(DISCONNECT文) | ||
権限管理イベント | PRV | GRT | ユーザ権限の付与(GRANT文) |
パスワードの変更(CONNECT関連セキュリティ機能の設定変更種別にパスワードの変更であることが分かる情報を付与する) | |||
RVK | ユーザ権限の削除(REVOKE文) | ||
オブジェクト定義イベント | DEF | CRT | オブジェクトの定義(CREATE系SQL) |
DRP | オブジェクトの削除(DROP系SQL) | ||
ALT | オブジェクトの変更(ALTER系SQL) | ||
オブジェクト操作イベント | ACS | SEL | 表の検索(SELECT文) |
INS | 表への行挿入(INSERT文) | ||
UPD | 表の行更新(UPDATE文) | ||
DEL | 表からの行削除(DELETE文) | ||
PRG | 表の全行削除(PURGE TABLE文) | ||
CAL | ストアドプロシジャの実行(CALL文) | ||
LCK | 表の排他制御(LOCK TABLE文) | ||
ASN | リストの作成(ASSIGN LIST文) | ||
NXV | 順序数生成子が生成する値の返却(NEXT VALUE式) | ||
ユティリティ操作イベント | UTL | LOD | データベース作成ユティリティ(pdloadコマンド) |
ORG | データベース再編成ユティリティ(pdrorgコマンド) | ||
EXP | ディクショナリ搬出入ユティリティ(pdexpコマンド) | ||
pddefrevコマンド | |||
CST | 整合性チェックユティリティ(pdconstckコマンド) |
セキュリティ監査機能に関するオペランドの値を次の表に示します。また,オペランドの値を記録するときのデータ形式を次の図に示します。
表23-21 セキュリティ監査機能に関するオペランドの値
オペランド名 | データ型 | 格納される値 |
---|---|---|
pd_audit | CHAR(1) | Y又はN |
pd_aud_file_name | VARCHAR(167) | 監査証跡ファイル用のHiRDBファイルシステム領域名 |
pd_aud_max_generation_size | VARCHAR(4) | 1〜5240 |
pd_aud_max_generation_num | VARCHAR(3) | 2〜200 |
pd_aud_no_standby_file_opr | VARCHAR(10) | down又はforcewrite |
pd_aud_async_buff_size | VARCHAR(7) | 0,4096〜6553600 |
pd_aud_async_buff_count | VARCHAR(4) | 1〜6500 |
pd_aud_file_wrn_pnt | VARCHAR(6) | 0〜100及び0〜99 |
pd_audit_def_buffer_size | VARCHAR(7) | 1〜2000000 |
pd_aud_async_buff_retry_intvl | VARCHAR(4) | 0〜1000 |
pd_aud_sql_source_size | VARCHAR(7) | 0〜2000000 |
pd_aud_sql_data_size | VARCHAR(7) | 0〜1000000 |
pd_aud_auto_loading | CHAR(1) | Y又はN |
図23-7 セキュリティ監査機能に関するオペランドの値を記録するときのデータ形式
SQLコード又は終了コードとイベント成否の詳細を次の表に示します。
表23-22 SQLコード又は終了コードとイベント成否の詳細
イベント名称 | SQLコード又は 終了コードの値 |
意味 | イベント 成否の値 |
備考 |
---|---|---|---|---|
各種SQL | 0以上 | 成功 | S | − |
負 | 失敗 | F | ||
pdstart | 0 | 成功 | S | − |
4 | 成功 | S | ||
8 | 失敗 | F | 次に示す場合は監査証跡を取得できません。
|
|
pdstop | 0 | 成功 | S | 監査証跡管理サーバプロセス終了後に失敗となった場合は,成功の監査証跡を出力します。 |
4 | 成功 | S | − | |
8 | 失敗 | F | ||
pdmod(監査人の登録,監査証跡表の作成) | 0 | 成功 | S | − |
8 | 失敗 | F | ||
pdaudrm | 0 | 成功 | S | − |
8 | 失敗 | F | ||
pdaudbegin | 0 | 成功 | S | − |
4 | 一部失敗 | U | ||
8 | 失敗 | F | 次に示す場合は監査証跡を取得できません。
|
|
pdaudend | 0 | 成功 | S | − |
8 | 失敗 | F | ||
pdacunlck | 0 | 成功 | S | − |
8 | 失敗 | F | ||
pdaudswap | 0 | 成功 | S | 監査証跡ファイルの上書き時に,スワップ元及びスワップ先の監査証跡ファイル名が記録されます。 |
8 | 失敗 | F | 監査証跡ファイルの上書き時に,スワップ元の監査証跡ファイル名が記録されます。スワップ先の監査証跡ファイル名にはNULL値が記録されます。 | |
pdload | 0 | 成功 | S | − |
4 | 成功 | S | ||
8 | 失敗 | F | ||
pddefrev | 0 | 成功 | S | − |
4 | 成功 | S | ||
8 | 失敗 | F | ||
12 | 失敗 | F | ||
pdrorg | 0 | 成功 | S | − |
4 | 成功 | S | ||
8 | 失敗 | F | ||
pdexp | 0 | 成功 | S | − |
4 | 成功 | S | ||
8 | 失敗 | F | ||
12 | 失敗 | F | ||
pdconstck | 0 | 成功 | S | − |
4 | 成功 | S | 警告終了(整合性違反あり) | |
8 | 失敗 | F | − | |
pdaudatld | 0 | 成功 | S | − |
4 | 成功 | S | 警告終了(自動データロード機能は停止できているため,成功として扱います) | |
8 | 失敗 | F | − |
CONNECT関連セキュリティ機能使用時に記録される情報を次の表に示します。
表23-23 CONNECT関連セキュリティ機能使用時に記録される情報
機能名 | イベント タイプ |
イベント サブタイプ |
変更 種別 |
変更前後に記録される値 |
---|---|---|---|---|
連続認証失敗許容回数 | SYS | SPR | ECNT | 1〜10,又はNULL値 |
アカウントロック期間 | LCKM | 10〜44640,UNLIMITED,又はNULL値 | ||
パスワードの最小許容バイト数 | MINL | 1〜15,又はNULL値 | ||
認可識別子の指定禁止 | USID | RESTRICT,UNRESTRICT,又はNULL値 | ||
単一文字種の指定禁止 | SMLN | |||
パスワードの変更※ | PRV又はAUD | GRT | CPWD | NULL値 |
表23-24 パスワードの変更時に出力される変更種別
登録済みユーザのパスワード有無 | GRANT CONNECT,DBA,又はAUDITの実行結果 | 変更種別 |
---|---|---|
パスワードあり | パスワードの変更 | CPWD |
パスワードの削除 | CPWD | |
パスワードの変更なし | NULL値 | |
パスワードなし | パスワードありに変更 | CPWD |
パスワードなしのまま | NULL値 |
注 ここでいうユーザ,パスワードとはHiRDBが管理するユーザとパスワードのことです。
監査証跡表オプションの出力有無を次の表に示します。
表23-25 監査証跡表オプションの出力有無
実行結果 | 失敗の要因 | 監査証跡表オプションの出力有無 |
---|---|---|
成功 | − | 出力する |
失敗※ | 対象のオブジェクトが存在しない | 出力しない(NULL値) |
対象のオブジェクトが監査証跡表のため,エラーになる場合 | 出力する | |
上記以外のエラー | 出力する(情報が取得できない場合は出力しない) |
アクセス件数の詳細を次の表に示します。
表23-26 アクセス件数の詳細
アクセス手段 | アクセス件数 | |
---|---|---|
SQL | SELECT | SELECT文での結果集合に対して,ユーザがアクセス(CLOSEが成功,又は失敗するまでFETCH)した行数です。なお,ブロック転送の場合は,1ブロックに含まれる行数をアクセス件数とします。 問合せに複数表を指定した場合,その複数の表すべてに対して,同じアクセス件数とします。次のどちらかの場合,アクセス件数がNULL値になります。 |
INSERT | 挿入した行数です。 | |
UPDATE | 更新した行数です。 | |
DELETE | 削除した行数です。 | |
ユティリティ | pdload | 表ごとのデータロード件数です。 |
pdrorg | 表ごとのアンロード件数,及び表ごとのリロード件数です。 | |
pdconstck | 制約違反となったキー値の数の総和です。 |
表23-27 副問合せでのアクセス件数
表の指定箇所 | アクセス件数 | 備考 | |
---|---|---|---|
スカラ副問合せ | 値式を指定できる箇所 | NULL値 | 例については図23-14参照 |
行副問合せ | 行値構成子を指定できる箇所 | NULL値 | 例については図23-15参照 |
UPDATE文のSET句 | NULL値 | 例については図23-16参照 | |
表副問合せ | IN述語の右側 | NULL値 | 例については図23-17参照 |
限定述語の右側 | NULL値 | 例については図23-18参照 | |
EXISTS述語 | NULL値 | 例については図23-19参照 | |
FROM句の導出表 | 非NULL値※ | 例については図23-20参照 |
アクセス手段がSELECTの場合の,アクセス件数の出力例を図23-8〜図23-21に示します。
図23-8 アクセス件数の出力例(その1)
図23-9 アクセス件数の出力例(その2)
図23-10 アクセス件数の出力例(その3)
注 表の実体については,図23-9と同じです。
図23-11 アクセス件数の出力例(その4)
注 表の実体については,図23-9と同じです。
図23-12 アクセス件数の出力例(その5)
図23-13 アクセス件数の出力例(その6)
注 表の実体については,図23-12と同じです。
図23-14 アクセス件数の出力例(その7)
注 表の実体については,図23-12と同じです。
図23-15 アクセス件数の出力例(その8)
注 表の実体については,図23-12と同じです。
図23-16 アクセス件数の出力例(その9)
注 表の実体については,図23-12と同じです。
図23-17 アクセス件数の出力例(その10)
注 表の実体については,図23-12と同じです。
図23-18 アクセス件数の出力例(その11)
注 表の実体については,図23-12と同じです。
図23-19 アクセス件数の出力例(その12)
注 表の実体については,図23-12と同じです。
図23-20 アクセス件数の出力例(その13)
注 表の実体については,図23-12と同じです。
図23-21 アクセス件数の出力例(その14)
注 表の実体については,図23-12と同じです。
SQLデータの構造を次の図に示します。
図23-22 SQLデータの構造
注1 ( )内は,領域の長さ(単位:バイト)を示します。
注2 記録されるエンディアン形式は,サーバのOSに依存します。
次に,SQLデータを構造するHEADER領域,SQLDA(SQL記述領域)及び入力データ領域の各構造について説明します。
HEADER領域の構造を次の図に示します。また,各構成要素の詳細を次の表に示します。
図23-23 HEADER領域の構造
注 ( )内は,領域の長さ(単位:バイト)を示します。
表23-28 HEADER領域の構成要素の詳細
レベル番号※ | 領域名 | データ型 | 長さ | 内容 | |
---|---|---|---|---|---|
1 | 1 | HEADER | − | 16 | SQLデータの管理情報です。 |
2 | SQLDATALEN | unsigned long | 4 | 記録前のSQLデータのデータ長です。 | |
2 | SQLARRAY | long | 4 | 配列型の変数を使って複数行分のデータを設定した場合の配列要素数です。配列型の変数を使用しない場合は,1が設定されます。 | |
2 | RESERVED | char | 8 | システムが使用する予備領域です。 |
SQLDA及び入力データ領域の構造を次の図に示します。SQLDA(SQL記述領域)の構造については,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。
図23-24 SQLDA及び入力データ領域の構造
注1 ( )内は,領域の長さ(単位:バイト)を示します。
注2 破線の矢印は,SQLDAからのオフセットを示します。
入力データ領域を構成する入力値は,次に示す要素によって構造が異なります。詳細については,それぞれの参照先にある図を参照してください。
入力値の種類 | 標識変数の有無 | 参照先 |
---|---|---|
単純構造の入力値 | あり | 図23-25 |
なし | 図23-26 | |
繰返し構造の入力値 | あり | 図23-27 |
なし | 図23-28 | |
固定長のデータ型で配列を使った入力値 | あり | 図23-29 |
なし | 図23-30 | |
可変長のデータ型で配列を使った入力値 | あり | 図23-31 |
なし | 図23-32 |
注 破線の矢印は,SQLDAからのオフセットを示します。
注1 ( )内は,領域の長さ(単位:バイト)を示します。
注2 破線の矢印は,SQLDAからのオフセットを示します。
注※1 繰返し構造全体の標識変数が格納されます。
注※2 各要素の標識変数が格納されます。
図23-29 固定長のデータ型で配列を使った入力値(標識変数あり)の構造
図23-30 固定長のデータ型で配列を使った入力値(標識変数なし)の構造
注 破線の矢印は,SQLDAからのオフセットを示します。
図23-31 可変長のデータ型で配列を使った入力値(標識変数あり)の構造
図23-32 可変長のデータ型で配列を使った入力値(標識変数なし)の構造
注 破線の矢印は,SQLDAからのオフセットを示します。
監査証跡に出力されるSQLデータの例を次に示します。
在庫表にデータを追加します。使用する埋込み変数とデータ型,及びデータの内容は次のとおりです。
列名 | 埋込み変数 | データ型 | データの内容 |
---|---|---|---|
商品コード | xscode | char(5) | 202M |
商品名 | xsname | char(17) | ポロシャツ |
色 | xcol | char(3) | 赤 |
単価 | xtanka | int | 3640 |
数量 | xgryo | int | 0 |
数量 | igryo | short | -1 |
実行するSQL文は次のとおりです。
EXEC SQL INSERT INTO ZAIKO(SCODE,SNAME,COL,TANKA,ZSURYO) VALUES(:xscode,:xsname,:xcol,:xtanka,:xgryo:igryo);
SQL文を実行すると,監査証跡のSQLデータは次のように記録されます。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.