<x:parameter>

x:parameter 要素は、SQL ステートメントの中のパラメーターに値を提供するために主として使用されるものですが、 そのパラメーターに関する追加情報を提供するためにも使用されます。 この要素は、x:selectx:modify、および x:procedureCall アクションの中で使用されます。パラメーターごとに 1 つの要素を使用してください。上記アクションが現れる順序は定まっていません。

SQL ステートメントの中のパラメーターに関する情報は、 組み合わせられた 2 つのソースである x:sql 要素と x:parameter 要素から得られます。

SQL ステートメントそれ自体の中のパラメーターと x:parameter 要素は 1 対 1 に対応していることが必要です。 この対応付けの設定にはパラメーター名または位置のいずれかを使用することができます。 両方のソースに矛盾した情報があれば、これにエラーのフラグが付けられます。

構文

<x:parameter	parmName = "name"
			position = "number"
			value = "value"
			type = "sqlType"
			mode = "in|out|inout"
			nullToken = "string" />

x:parameter 要素には以下の属性があります。

parmName
パラメーターの名前を指定します。この値には大/小文字の区別があります。パラメーター名が SQL ステートメントの中で使用されている場合は、この属性を使用して対応を設定する必要があります。 その他の場合は、この属性を省略して、代わりに position 属性を指定することが必要です。
position
SQL ステートメントの中のパラメーターの位置を指定します。(x:parameter 要素の現れる順序は一定していません。) 1 番目のパラメーターの位置は 1 です。SQL ステートメントにパラメーター名が使用されていない場合は、 この属性を使用して対応の設定を行う必要があります。 その他の場合は、この属性を省略して、代わりに名前属性を指定することが必要です。
value
パラメーターの値。指定する値は、Java™ オブジェクトを評価する式とすることができます。この値を省略した場合は、SQL ステートメントの実行前にこのパラメーターの値がデータベースに渡されないことになります。 パラメーター・モードがアウトであれば、この属性は無視されます。

指定する値がストリングの場合、 このアクションではこの値がパラメーターに合う Java オブジェクト・タイプに変換されます。 大/小文字の区別は入力した通りに保存されます。この値が他のタイプのオブジェクトである場合は、 このオブジェクトはパラメーターに合う正しいタイプであることが必要です。正しくなければ、エラーが発生します。

この属性の設定に使用できるように、2 つの特殊値 &empty と &null が用意されています。 前者は空ストリングを、後者は NULL オブジェクト参照を表します。 value="" を指定することは value="<%=2.23 nullObj %> を指定することと同じです。 ここで、nullObj は NULL オブジェクト参照です。

type
パラメーターの SQL 型。有効な値は、VARCHAR などの JDBC クラス java.sql.Types で定義されている定数の名前です。
mode
パラメーターのモード。 この属性はオプションです。このモードを指定しないと、デフォルト値が設定されます。
nullToken
大/小文字が区別されるストリング値を指定します。この値はデータベースの NULL 値として扱われます。 value 属性にこのストリングが含まれている場合は、このパラメーターはデータベースの中で NULL に設定されます。

この属性はオプションです。この属性を省略した場合は、この属性を含んでいる x:selectx:modify、または x:procedureCall アクション上の同じ属性の値が使用されます。両方の場所でこの属性が省略された場合のデフォルトは &empty です (&empty は HTML 文字エンティティーに類似した特殊値であり、 この属性では空ストリングを表すものとして認識されます)。 NULL 値の表記の詳細については、『NULL 値』を参照してください。

<x:procedureCall>の中の例を参照してください。


フィードバック