jsp jstl sql查询标记使用声明的变量?

时间:2018-07-25 17:25:09

标签: mysql jstl

在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>

有什么方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

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

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

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

  Call w10rt