<x:sql>

x:sql 元素用來指定 x:selectx:modifyx:procedureCall 動作所要執行的 SQL 陳述式。

語法

<x:sql>
</x:sql>

陳述式指定為這個元素的主體。

陳述式可在兩個層次中的任何一個層次參數化。 在第一個層次上,可在陳述式中使用 JSP 語法,以便在陳述式送出給資料庫之前,將參數替代到陳述式中。例如:

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

在第二個層次上,送出給資料庫的陳述式含有參數,替代的動作會在資料庫的處理程序中進行。 在這個情況下,可以將參數表示為 ? 或 :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 語法和 ? 語法。 所有參數都只能使用其中一種。

讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.