• 検索結果がありません。

データベースアクセスタグ

ドキュメント内 WebDBtoolsユーザーズガイド (ページ 86-95)

第6章 WebScript拡張タグ

6.3 データベースアクセスタグ

データベースアクセスに関するタグについて説明します。

6.3.1 <!DO>

説明

<!DO>は、SELECT文などのデータベースを処理する文を実行するタグです。

実行の結果を返却する文で、正常に実行された場合、result で指定した変数に結果が出力されます。

構文

<!DO statement [ RESULT=result ] [ ONERROR=onerror ] >

パラメタ statement :

・ データベースを処理する文を指定してください。指定できる文と実行条件を、以下に示します。

文 構文

実行結果 返却の有

実行条件

動的SELECT文 ・ 構 文 に つ い て は、“SQLリファレン ス”の“基本的なSQL 文”および“動的SQL 文”を参照してくださ い。

あり ・ 操作対象データベース にログインする必要が あります。

INSERT文 なし

UPDATE文:探索

DELETE文:探索

スキーマ定義文 スキーマ操作文 格納構造定義文 格納構造操作文 アクセス制御文 利用者制御文 システム制御文

CALL文 なし ・ 操作対象データベース

にログインする必要が あります。

・ 呼 び 出 す プ ロ シ ジ ャ ルーチンのパラメタの モードがINである必要 があります。

データベース、

データベーススペース 定義文

なし ・ 個別セションでログイン

する必要があります。

・ rdbddlexコマンドを実

行できるユーザ でロ データベース、

文 構文

実行結果 返却の有

実行条件

・ トランザクションが開始 されていない状態であ る必要があります。

・ SET SYSTEM

PARAMETER文の実

行結果は次のログイン 後に有効になります。

CREATE DSO文(イン

デックスのDSO定義文)

・ 構 文 に つ い て は“RDB運用ガイド

(XMLアダプダ編)”

を参照してください。

なし ・ 操作対象データベース にログインする必要が あります。

XMLグループ定義文 XMLグループ変更文 XMLグループ削除文 RDBコマンド

(rdbfmtコマンドおよび rdbsloaderコマンド)

・ RDBコマンドについ

ては、“コマンドリファ レンス”を参照してく ださい。

あり ・ 個別セションでログイン する必要があります。

・ RDBコマンドを実行で

きるユーザIDでログイ ンする必要があります。

・ トランザクションが開始 されていない状態であ る必要があります。

行検索文 ・ 構文については、以 降

の“SYSTEM::DB_E RRORCODE” に 示 します。

あり

行操作文 なし

トランザクション設定文 データベース設定文 スキーマ設定文 ロール設定文 トランザクション文

格納構造情報取得文 あり

システム表検索文 検索情報取得文 RDBコマンド用ファイル 作成文

あり ・ 個別セションでログイン

する必要があります。

RDBコマンド用ファイル 削除文

なし

・ 評価方法は、「一般文字列」です。

result :

・ 検索結果を格納する変数名またはリストの要素を、指定してください。

・ 指定された変数に対する変数宣言が行われていない場合は、ローカル変数として取り扱われます。変数名として指 定できるものについては、“6.1.2 命名規約”を参照してください。

・ 動的SELECT文または格納構造情報取得文が実行された場合は、resultで指定した変数に、検索結果がリストとして 格納されます。リストの各要素もリストとして格納されます。列に名前がついている場合には、列名がリストのキーの名 前になります。

・ <!DO>タグで、データベースのアクセスや定義を実行した場合は、トランザクションの排他制御が行われます。<!DO>

タグを実行したあとは、<!DO “COMMIT”>、<!DO “ROLLBACK”>、<!TRANSACTION>または<!ABORT>タグが 実行されるまで処理した資源の排他が行われています。フォーマットファイル終了前に、トランザクションを終了させ てください。なお、個別セションで、一連の処理を複数のフォーマットファイルで実施している場合は、一連の処理を 終了するフォーマットファイルで、トランザクションを終了させてください。

・ <!DO>タグを実行したあとに、<!DO “COMMIT”>、<!DO “ROLLBACK”>、<!TRANSACTION>または<!ABORT>

タグを実行した場合は、検索結果を格納する変数を参照することはできません。変数の参照が終了したあとに、トラ ンザクションを終了させるタグを実行してください。トランザクションを終了後に参照した場合は、エラーとなるか誤っ た結果が参照されます。

・ どの文が実行の結果を返却するかについては、実行文を参照してください。

・ 評価方法は、「左辺値」です。

onerror :

・ SQL文の実行が失敗した場合に、ラベルに該当する<!CATCH>ブロックを処理します。処理される<!CATCH>ブロッ ク内で、“SYSTEM::DB_ERRORCODE”を参照することができます。

・ 環境パラメタDBErrorHandleまたは<!ERRORHANDLE>タグにより、SQL文の実行に対して、エラー処理を行わない 設定になっている場合、onerrorの指定は無効になります。

・ 評価方法は、「一般文字列」です。

データベース処理文

データベース処理文には、以下の文があります。

・ 行検索文

・ 行操作文

・ データベース設定文

・ トランザクション設定文

・ スキーマ設定文

・ ロール設定文

・ トランザクション文

・ 格納構造情報取得文

・ システム表検索文

・ 検索情報取得文

・ RDBコマンド用ファイル作成文

・ RDBコマンド用ファイル削除文 行検索文

SELECT 選択リスト FROM スキーマ名.表名 WHERE ROW_ID IS 文字列

WHERE条件のROW_IDは、行の検索前に動的SELECT文の選択リストにROW_IDを指定して検索された文字列を 指定します。

参照

選択リストおよびスキーマ名.表名の構文については、“SQLリファレンス”を参照してください。

行操作文

【挿入】

INSERT INTO スキーマ名.表名 [ (挿入別リスト) ] VALUES(挿入値リスト)

BLOB型の列に対し値を挿入する場合に、挿入値リストの値指定にファイル定数を指定することができます。

参照

スキーマ名.表名、挿入別リストおよび挿入値リストの構文については、“SQLリファレンス”を参照してください。

【更新】

UPDATE スキーマ名.表名

SET 設定句:探索 [ { , 設定句:探索 } ・・・ ] WHERE ROW_ID IS 文字列

UPDATE スキーマ名.表名

SET 設定句:探索 [ { , 設定句:探索 } ・・・ ] [ WHERE 探索条件]

BLOB型の列に対し値を更新する場合に、設定句:探索の値指定にファイル定数を指定することができます。WHERE 条件のROW_IDは、行の更新前に動的SELECT文の選択リストにROW_ID を指定して検索された文字列を指定しま す。

参照

スキーマ名.表名および設定句:探索の構文については、“SQLリファレンス”の“探索条件”を参照してください。

【削除】

DELETE FROM スキーマ名.表名 WHERE ROW_ID IS 文字列

WHERE条件のROW_IDは、行の更新前に動的SELECT文の選択リストにROW_ID を指定して検索された文字列を

指定します。

参照

スキーマ名.表名の構文については、“SQLリファレンス”の“名前”を参照してください。

ファイル定数

FILE ’ファイル名’

ファイル名をアプリケーション環境パラメタdataDirからの相対パスで指定してください。ただし、パスの一部として「..」 を指定することは出来ません。

データベース設定文

SET CATALOG データベース名

WebScriptセションのSQLアクセスで、対象となるデータベース名を変更します。

データベース設定文の設定が成功した場合、SYSTEMパッケージ変数“SYSTEM::LOGIN_DATABASE”の値は、

データベース設定文に指定されたデータベース名に変更されます。

SQLアクセスには、以下の文があります。

- 動的SELECT文

- INSERT文

- UPDATE文:探索

- DELETE文:探索

- スキーマ定義文

- スキーマ操作文

- 格納構造定義文

- 格納構造操作文

- アクセス制御文

- CALL文

- 行検索文

- 行操作文

- システム表検索文

- 検索情報取得文 トランザクション設定文

SET TRANSACTION

[ READ ONLY | READ WRITE ]

[ READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE ] READ ONLY、READ WRITE:トランザクションアクセスモード

READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE:独立性水準

WebScriptセションのトランザクションモードを変更します。

参照

トランザクションモード、トランザクションアクセスモード、独立性水準については、“アプリケーション開発ガイド(埋込み SQL編)”の“トランザクションモードの変更”を参照してください。

トランザクションについては、“アプリケーション開発ガイド(埋込みSQL編)”の“アプリケーションとトランザクション処 理”を参照してください。

スキーマ設定文

SET SCHEMA スキーマ名

WebScriptセションのSQLアクセスで、スキーマ名を省略したときのスキーマ名を変更します。

スキーマ設定文の設定が成功した場合、SYSTEMパッケージ変数“SYSTEM::LOGIN_SCHEMA”の値は、スキーマ 設定文に指定されたスキーマ名に変更されます。

SQLアクセスには、以下の文があります。

- 動的SELECT文

- INSERT文

- UPDATE文:探索

- DELETE文:探索

- スキーマ定義文

- スキーマ操作文

- 格納構造操作文

- アクセス制御文

- CALL文

- 行検索文

- 行操作文

- システム表検索文

- 検索情報取得文 ロール設定文

SET ROLE {ロール名|NONE|DEFAULT}

ロール名:現在のログインユーザIDに対して有効とするロールの名前を指定します。

NONE:現在のログインユーザIDに対してロールを無効とします。

DEFAULT:現在のログインユーザIDのデフォルトのロールを有効とします。

参照

ロールについては、“RDB運用ガイド(データベース定義編)”の“権限情報定義”を参照してください。

トランザクション文

COMMIT】 COMMIT

COMMITを指定した場合は、SQL文のCOMMIT WORKと同じ動作になります。

ROLLBACK】 ROLLBACK

ROLLBACKを指定した場合は、SQL文のROLLBACK WORKと同じ動作になります。

格納構造情報取得文

格納構造情報取得文は、データベースの論理構造以外のデータベース定義情報を取得する文です。詳細は、“D.2 検索情報取得”を参照してください。

種類 格納構造情報取得文 意味

DSO一覧 GET DSO_LIST 表に含まれるすべてのDSOの基本

情報の一覧を取得します。

DSO情報 GET DSO_INF 特定のDSOの詳細情報を取得しま

す。

格納キー列一覧 GET

DSO_STR_KEY_LI ST

特定のDSOのキーを構成する列に 関する情報を取得します。

分割キー列一覧 GET

DSO_PAT_KEY_LI ST

特定のDSOが分割格納を行ってい る場合の分割キーを構成する列に 関する情報を取得します。

DSI一覧 GET DSI_LIST 特定のDSOに含まれるすべての

DSIの基本情報の一覧を取得しま す。

DSI情報 GET DSI_INF 特定のDSIの詳細情報を取得しま

す。

ドキュメント内 WebDBtoolsユーザーズガイド (ページ 86-95)