0

在 jstl 中使用“SET @”任何内容时遇到问题。有什么技巧可以让它工作吗?

<sql:query var="weektots" dataSource="jdbc/x" >
SET @tot:=0;
SELECT
 (@tot := @tot + 5) AS rt
<sql:query>

其他无效的尝试:

<sql:transaction dataSource="jdbc/x">
<sql:query var="weektots" >
    SET @tot:=0;
 <sql:query>
 <sql:query var="weektots" dataSource="jdbc/x" >
       SELECT
     (@tot := @tot + 5) AS rt
    <sql:query>
  </sql:transaction>

  <c:set var="tot" value="0" />
  <sql:query var="weektots" dataSource="jdbc/x">
       SELECT
     (${tot} := ${tot} + 5) AS rt
  <sql:query>

有什么办法可以实现这个吗?

4

1 回答 1

0

最终创建了一个存储过程来在 JSTL 中执行它。

    DELIMITER $$
 CREATE PROCEDURE w10rt()
   BEGIN
    SET @tot:=0;
    SELECT
     (@tot := @tot + 5) AS rt
   END $$
 DELIMITER ; 

在 jsp 中使用“调用 w10rt”可以正确获取结果。

  Call w10rt
于 2018-07-26T13:50:22.140 回答