<x:sql>

x:sql 要素は、x:selectx:modify、または x:procedureCall アクションのために実行される SQL ステートメントの指定に使用されます。

構文

<x:sql>
</x:sql>

このステートメントは、この要素の本体として指定されます。

このステートメントは、 2 つのレベルのいずれかでパラメーター化することができます。第 1 レベルでは、JSP 構文をこのステートメントの中で使用して、 データベースへのサブミット前にこのパラメーターへのパラメーター置換を行うことができます。 次に例を示します。

SELECT * FROM EMPLOYEE WHERE WORKDEPT =
			<%= request.getParameter("department") %>

第 2 レベルでは、データベースにサブミットされたステートメントはパラメーターを含み、 データベース処理中に置換が行われます。 この場合、パラメーターは、? または :name として表すことができます (ここで、name は大/小文字の区別があるパラメーターの名前です)。 以下は、これについてのすべての例です。

		SELECT * FROM EMPLOYEE WHERE WORKDEPT = ?
		SELECT * FROM EMPLOYEE WHERE WORKDEPT = :dept
		DELETE FROM EMPLOYEE WHERE EMPNO = ?
		DELETE FROM EMPLOYEE WHERE EMPNO = :employee
		CALL GETDEPT (?, ?)
		CALL GETDEPT (:number, :name)
		:deptno = CALL GETNUMBER (:deptname)

ステートメント内の各パラメーターには、:name 構文と ? 構文を組み合わせて使用することはできません。すべてのパラメーターでいずれか一方の構文を使用する必要があります。


フィードバック