【问题标题】:MariaDB stored procedure generates unclear error, what's wrong?MariaDB存储过程产生不清楚的错误,怎么回事?
【发布时间】:2019-07-26 15:19:42
【问题描述】:

我仍然使用MariaDB10Beaver 6.1.3。我创建了一个在DBeaver 中运行良好的 SQL 查询。现在我想将其更改为存储过程,但仍然没有成功。

以下是我的代码:

DELIMITER //
CREATE PROCEDURE hibiscus.findAllForPivot
 (
     IN jahr varchar(4),         IN kontos VARCHAR(500)
 )
   BEGIN
select 
 VCT.l1_Id,
 VCT.l1_GroupName,
 VCT.l2_Id,
 VCT.l2_GroupName,
 sum( case when (VCT.monat = 1) then dbetrag end ) AS `jan`,
 sum( case when VCT.monat = 2 then dbetrag end ) AS `feb`,
 sum( case when VCT.monat = 3 then dbetrag end ) AS `mrz`,
 sum( case when VCT.monat = 4 then dbetrag end ) AS `apr`,
 sum( case when VCT.monat = 5 then dbetrag end ) AS `mai`,
 sum( case when VCT.monat = 6 then dbetrag end ) AS `jun`,
 sum( case when VCT.monat = 7 then dbetrag end ) AS `jul`,
 sum( case when VCT.monat = 8 then dbetrag end ) AS `aug`,
 sum( case when VCT.monat = 9 then dbetrag end ) AS `sep`,
 sum( case when VCT.monat = 10 then dbetrag end ) AS `okt`,
 sum( case when VCT.monat = 11 then dbetrag end ) AS `nov`,
 sum( case when VCT.monat = 12 then dbetrag end ) AS `dez`
 from hibiscus.V_HibCrosUmsGiroOpaOmaReport VCT
 where  VCT.jahr = jahr and VCT.konto_id in (kontos)
 group by VCT.L1_id, VCT.L1_GroupName, VCT.L2_id, VCT.L2_GroupName;
 END 
 //
 DELIMITER ;

我总是收到以下错误:

SQL-Fehler [1064] [42000]: (conn:26) 你的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以获取正确的语法,以便在第 26 行的 '' 附近使用
查询是:CREATE PROCEDURE hibiscus.findAllForPivot

  • 如果我删除 group by 行,第 25 行也会出现同样的错误
  • 如果我单独使用带有 wheregroup by 的完整 select 语句,一切正常!
  • 我仔细检查了表格中的列。

我会因为找不到原因而生气。

表格的列是(通过复制粘贴输入):

dBetrag
id
Jahr
JahrMonat
konto_id
L1_GroupName
L1_id
L2_GroupName
L2_id
Monat

提前谢谢你

rgds 奥帕海因茨

【问题讨论】:

  • 这段代码没有问题,我无法重现您的问题。正在发生您没有发现的其他事情。
  • 不要使用与列名相同的参数名;你可能得不到你所期望的。一种约定:参数前加下划线。

标签: mysql sql mariadb dbeaver


【解决方案1】:

我尝试在 PhpMyAdmin 中做同样的事情成功了!
我认为,原因是 DBeaver 或周围的东西。
我将在那里比赛支持票。

感谢大家的帮助!
奥帕海因茨

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-09
    • 2021-01-10
    • 1970-01-01
    相关资源
    最近更新 更多