使用SQLDeveloper 2.1.1.64,如果您尝试键入以下代码:
DECLARE
v_status_code NUMBER;
v_status_text VARCHAR2(30);
v_to_delete NUMBER := 5;
BEGIN
PACKAGE_NAME.Delete(v_to_delete, v_status_code, v_status_text);
END;
Run Code Online (Sandbox Code Playgroud)
在PACKAGE_NAME.Delete(...)行之后按Enter将使删除进入全部大写(DELETE).我已经在SQL Formatter选项中关闭了Case Change,但这仍然会发生.我得到了类似于这个问题的其他问题,它将随机重新格式化代码行,但我想不出一个像这样一致的例子.特定包名称无关紧要,即使PACKAGE_NAME位于UpperCamelCase中,也会执行此操作.
我不知道这是否是SQLDeveloper的错误,或者我是否遗漏了某些设置.似乎工具>首选项>数据库> SQL格式化程序> Oracle格式化下的SQL格式化程序设置不这样做,所以我不知道该怎么做.我不得不抓住一些这些格式变化,我有时只会在做差异时注意到这些变化.