You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code Oracle Dev Tools:注释单引号致/终止符失效问题

VS Code Oracle Dev Tools注释单引号导致块终止符/失效问题

问题现象

在VS Code的Oracle Dev Tools扩展中,当PL/SQL代码的注释内存在奇数个单引号时,作为块终止符的独立/会被错误识别为代码的一部分,触发编译错误:PLS-00103: Encountered the symbol "/"。但相同代码在SQL Developer中可正常编译运行。

可复现代码示例

可正常编译的代码

CREATE OR REPLACE PACKAGE CUSTOMER_PKG AS
PROCEDURE ADDCUSTOMER(
P_FIRST_NAME IN VARCHAR2 -- Customer's first name
,P_LAST_NAME IN VARCHAR2 -- Customer's last name
);
END CUSTOMER_PKG;
/

CREATE OR REPLACE PACKAGE BODY CUSTOMER_PKG AS
PROCEDURE ADDCUSTOMER(
P_FIRST_NAME IN VARCHAR2 -- Customer's first name
,P_LAST_NAME IN VARCHAR2 -- Customer's last name
) AS
BEGIN
NULL;
END ADDCUSTOMER;
END CUSTOMER_PKG;
/

触发错误的代码(注释中含奇数个单引号)

CREATE OR REPLACE PACKAGE CUSTOMER_PKG AS
PROCEDURE ADDCUSTOMER(
P_FIRST_NAME IN VARCHAR2 -- Customer's first name
,P_LAST_NAME IN VARCHAR2 -- Customers last name
);
END CUSTOMER_PKG;
/

CREATE OR REPLACE PACKAGE BODY CUSTOMER_PKG AS
PROCEDURE ADDCUSTOMER(
P_FIRST_NAME IN VARCHAR2 -- Customer's first name
,P_LAST_NAME IN VARCHAR2 -- Customers last name
) AS
BEGIN
NULL;
END ADDCUSTOMER;
END CUSTOMER_PKG;
/

简化验证示例

可正常运行

SELECT * FROM DUAL -- '

可正常运行(注释含偶数个单引号)

SELECT * FROM DUAL -- ''
/

触发错误(注释含奇数个单引号+终止符/)

SELECT * FROM DUAL -- '
/

影响范围

代码库中大量将包规范与包体放在同一文件,用/分隔,且注释常包含奇数个单引号,该问题已成为开发流程的重大阻碍。

解决办法

  1. 临时规避:在含奇数个单引号的注释末尾添加一个额外的单引号,使其变为偶数个,让扩展正确识别注释边界,避免干扰/的解析
  2. 官方修复:检查Oracle Dev Tools扩展的更新,该问题属于扩展的语法解析bug,Oracle官方可能在后续版本中修复;也可在扩展的官方反馈渠道提交问题报告
  3. 替代编译方式:临时绕过该问题时,可将代码复制到SQL Developer中编译,或使用SQL*Plus命令行执行代码

内容的提问来源于stack exchange,提问作者Paul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 22:55:20