【问题标题】:missing right parenthesis in oracle apex codeoracle apex 代码中缺少右括号
【发布时间】:2020-06-14 05:16:55
【问题描述】:

我在 oracle apex 交互式报告页面中运行此代码以显示学生图片,但它一直抛出此错误“ORA-06550:第 2 行,第 14 列:ORA-00907:缺少右括号”,但是我检查了没有缺少任何括号。

SELECT "ID", "NAME", decode(NVL(dbms_lob.getlength("PHOTO"),0),0,NULL,
      '<img 'src ="'|| apex_util.get_blob_file_src('P7_PHOTO',ID) ||'" width ="100"/>') from "#OWNER#."STUDENTS_INFO"

【问题讨论】:

  • 有一个流浪的'(在img之前)。删除它。
  • 感谢@stickybit,我刚刚删除了它现在显示此错误“ORA-06550:第 2 行,第 7 列:ORA-00936:缺少表达式”,代码看起来像这个 SELECT“ID”, "NAME", 解码(NVL(dbms_lob.getlength("PHOTO"),0),0,NULL, ') 图片来自 "#OWNER#."STUDENTS_INFO"
  • 现在您在&lt;img 之前缺少一个',在#OWNER# 之后缺少一个"...

标签: oracle oracle-apex


【解决方案1】:

你在 src 之前有一个错误的单引号

SELECT "ID"
    , "NAME"
    , decode(NVL(dbms_lob.getlength("PHOTO"),0),0,NULL,
       '<img src ="'|| apex_util.get_blob_file_src('P7_PHOTO',ID) ||'" width ="100"/>') 
FROM "#OWNER#"."STUDENTS_INFO"

并错过了“#OWNER#”的双引号

【讨论】:

  • 顺便说一句,不需要包含“#OWNER#”。也不必将所有列名或表名用双引号括起来。仅当它们区分大小写或包含特殊字符时才需要这样做。
  • 感谢@PatrickWolf 和 Scais Edge,在这里我在谷歌驱动器中上传了一些照片,现在没有显示图片,在 youtube 中,当他们运行这样的代码时它可以工作我不明白为什么它不是为我工作。 drive.google.com/drive/folders/…
【解决方案2】:
SELECT  "ID",
        "NAME",
        DECODE(NVL(dbms_lob.getlength("PHOTO"),0),
        0,
        NULL,
        '<img src ="'|| apex_util.get_blob_file_src('P7_PHOTO',ID) ||'" width ="100"/>') PHOTO
FROM    "#OWNER#"."STUDENTS_INFO"

【讨论】:

  • 感谢您的 cmets 和回答,当我在 oracle apex 5.0 的交互式报告页面中运行您的代码并将照片列更改为标准视图时,它没有显示图片,这里我上传了一些截图给你。非常感谢您的努力。 drive.google.com/drive/folders/…
猜你喜欢
  • 2021-11-10
  • 2019-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多