错误:“e2ecalc”或附近的语法错误第 25 行:当 'E2E' 时,则 e2ecalc(quoteID);请检查

Posted

技术标签:

【中文标题】错误:“e2ecalc”或附近的语法错误第 25 行:当 \'E2E\' 时,则 e2ecalc(quoteID);请检查【英文标题】:ERROR: syntax error at or near "e2ecalc" LINE 25: when 'E2E' then e2ecalc(quoteID);Please check错误:“e2ecalc”或附近的语法错误第 25 行:当 'E2E' 时,则 e2ecalc(quoteID);请检查 【发布时间】:2021-01-13 05:49:41 【问题描述】:
if ( connMode is not null and serviceType is not null ) then
     
    if ( position('LL'  in serviceType) > 0 ) then
      PERFORM llcal(quoteID);
    else
      case connMode
      when 'E2E' then e2ecalc(quoteID);
      when 'P2E' then p2ecalc(quoteID);
      when 'P2P' then p2pcalc(quoteID);
      end case;
    end if;
  else

【问题讨论】:

if ( position('LL' in serviceType) > 0 ) 然后 PERFORM llcal(quoteID); else case connMode when 'E2E' then e2ecalc(quoteID) when 'P2E' then p2ecalc(quoteID) when 'P2P' then p2pcalc(quoteID) end case;万一;否则 错误:“e2ecalc”处或附近的语法错误第 26 行:当 'E2E' 时,e2ecalc(quoteID) --- 得到相同的错误。 错误:“e2ecalc”第 26 行或附近的语法错误:当 'E2E' 时,则为 e2ecalc(quoteID)。建议删除错误。 【参考方案1】:

您使用程序性CASE 语句。此命令包含 PLpgSQL 语句(不是 SQL CASE 之类的表达式)。你应该在那里使用PERFORM 声明。

case connMode
  when 'E2E' then PERFORM e2ecalc(quoteID);
  when 'P2E' then PERFORM p2ecalc(quoteID);
  when 'P2P' then PERFORM p2pcalc(quoteID);
end case;

【讨论】:

非常感谢先生。非常感谢先生。它有效。

以上是关于错误:“e2ecalc”或附近的语法错误第 25 行:当 'E2E' 时,则 e2ecalc(quoteID);请检查的主要内容,如果未能解决你的问题,请参考以下文章

错误:“INTEGER”第 2 行或附近的语法错误:v_stage INTEGER:=0;

错误:“。”处或附近的语法错误第 4 行:在 like.takerId = frame.likeId 上;

MySQL Workbench:查询中的错误(1064):第 1 行的“VISIBLE”附近的语法错误

-e 第 1 行,“'755']”附近的 nmake 语法错误

awk:第 1 行:在或附近出现语法错误,需要一些 bash 帮助 [关闭]

第 1 行的 ''')' 附近的 SQL 语法有错误