我正在使用Oracle SQL Developer 4.0.3.16,几周后,快捷键Ctrl + Enter不再执行当前行或语句,除非我突出显示它,而是运行我的整个工作表。使用顶部的绿色按钮(应该仅运行当前行)会导致相同的行为(除非突出显示该行)。将鼠标悬停在按钮上仍会显示工具提示"运行语句(Ctrl + Enter)"。我的一位同事确实也遇到了这个问题。
我也查看了Preferences-> Shortcut Keys菜单,但是运行语句的快捷方式仍然是Ctrl + Enter。
任何人都知道我的SQL Developer出了什么问题?
答案 0 :(得分:2)
SQL Developer中的每个SQL语句都应该有分号select * from emp
否则ctrl + Enter将执行将执行整个工作表。
例如,假设我有两个SQL语句:
1. ;
没有分号UPDATE EMP SET DEPT_ID=10;
2. ;
与SEMICOLON Axapta DynAx = new Axapta();
AxaptaRecord DynRec;
string strUserName = "";
System.Net.NetworkCredential nc = new System.Net.NetworkCredential("", "");
string tableName = "";
DynAx.LogonAs(strUserName.Trim(), "", nc, dataAreaId, "en-us","", "");
try
{
using (DynRec = DynAx.CreateAxaptaRecord(tableName))
{
var binData = DynAx.CreateAxaptaObject("Bindata");
var loaded = binData.Call("loadFile", path);
var data = binData.Call("getData");
AxaptaContainer axc = DynAx.CreateAxaptaContainer();
axc.Add(data);
DynRec.set_Field("ATTACHMENT", axc.get_Item(1));
// Commit the record to the database.
DynRec.Insert();
}
}
catch (Exception ex)
{
return false;
}
finally
{
DynAx.Logoff();
}
然后它将同时执行两个语句,因为在每个SQL语句之后你应该有分号。
答案 1 :(得分:1)
我也面对过它。通常,您将PL / SQL块置于您尝试执行的SQL代码之上。注释掉PL / SQL块,它是DECLARE,BEGIN,但不以分号结尾,从而产生此问题。因此,在工作表中注释PL / SQL块应该可以解决您的问题。
答案 2 :(得分:1)
感谢答案here:如果它在行之后的分号不起作用,就像它不适合我(Oracle SQL Developer 3.2.20.10),你需要放一个'/'在每个命令之后,如果你想独立地执行它们,例如:
blahblah;
/
blahblah;
/
将'/'视为真正的终结符/分隔符。
答案 3 :(得分:0)
我想我有点解决了。
由于我不是工作中的计算机管理员,因此无法安装新客户端,所以我不久前在版本4.0.3.16中下载了SQL Developer,并从我的用户目录本地运行它。 同时客户端4.0.3.16安装在操作系统上,当使用此客户端时,我没有收到此错误。 谢谢你的帮助。