为了减少鼠标活动,我想知道是否有这样的命令快捷方式(例如CLS或Ctrl + L)来提供SQL*Plus(?)"CLEAR SCREEN"命令功能,通过点击橡胶端 - Oracle SQL Developer中的铅笔图标清除较低的"结果"子选项卡(...我确定不正确的术语).
我正在使用SQL Developer,并希望使用DBMS_OUTPUT.PUT_LINE()将变量的内容输出到控制台.我正在运行以下代码,添加数字1到5,但我没有看到任何输出.
SET SERVEROUTPUT ON;
DECLARE
n_counter NUMBER := 5; -- Substitute this variable
n_sum NUMBER := 0;
BEGIN
WHILE n_counter != 0
LOOP
n_sum := n_sum + n_counter;
n_counter := n_counter -1;
END LOOP;
DBMS_OUTPUT.PUT_LINE(n_sum);
END;
Run Code Online (Sandbox Code Playgroud)
此外,您是否知道比非常密集的Oracle PL/SQL文档更好的解决问题资源?[类似于Java SE7 API?]
我正在尝试在Windows7 64位上打开Oracle SQL Developer.
当我试图打开SQL Developer时,它询问了java.exe路径,我给了C:\ Java\jdk1.6.0_34\jre\bin\java.exe
我从Oracle SQL Developer收到错误说:无法找到Java虚拟机.指向JVM的位置.请参考oracle9i jdeveloper安装指南(jdev install.html)


关于如何解决这个问题的任何线索?
另一种方案:
这对我有好几次了.安装JDK7并指向jdk7\jre\bin\java.exe的位置
我今天试图遵循一些指示,并从评论开始
REM In SQLPlus I manually copy in each line and execute it.
Run Code Online (Sandbox Code Playgroud)
那很好,我没有SQLPlus,我有SQLDeveloper.粘贴的行是以下类型:
@\\server\dir\dir\dir\commandfile1.txt;
COMMIT;
Run Code Online (Sandbox Code Playgroud)
...等等.
当我在SQL窗口中尝试它时,它不喜欢它.我手动打开并粘贴在命令中,对此也不满意.(我是否提到我对这个应用程序也不是很好,也不是Oracle,但今天其他所有人都在外面?)那里的文件以如下代码开头:
rem
set echo on
rem
execute procedure_name ('parameter1', 'parameter2');
Run Code Online (Sandbox Code Playgroud)
一个同事确实有SQLPlus,我们一起解决了它.但是,有没有办法让我用SQLDeveloper做到这一点,所以如果他也出局我就不会被卡住?
在Oracle SQL Developer中输入SQL语句时,我注意到我有两个选择.我可以"执行语句"或"运行脚本".类似的选择似乎也可以在SQL Maestro中使用,尽管命名为"执行查询"和"执行为脚本".
这两者究竟有什么区别?
在Oracle SQL Devleoper中,当我复制结果时,如何复制列标题呢?
例如,我不想要:
doucette matthew xona.com etc.
Run Code Online (Sandbox Code Playgroud)
我想要:
lastname firstname url etc.
-------- --------- -------- ----
doucette matthew xona.com etc.
Run Code Online (Sandbox Code Playgroud) 当我尝试通过网格更新记录时偶尔会出现此错误.
One error saving changes to table "SCHEMA"."TABLENAME":
Row 3: Data got committed in another/same session, cannot update row.
Run Code Online (Sandbox Code Playgroud)
抬头看OTN但还没有解决方案.
试图禁用选项Post rowits row on row change但仍然没有运气.
有一个已知的解决方案,通过SQL工作表将字段设置为NULL,但这肯定是一个痛苦.
在Sql Server中,经常在我测试存储过程的主体时,我将主体复制到SSMS中,将页面顶部的变量DECLARE,将它们设置为一些样本值,并按原样执行主体.
例如,如果我的proc是
CREATE PROC MySampleProc
@Name VARCHAR(20)
AS
SELECT @Name
Run Code Online (Sandbox Code Playgroud)
然后我的测试SQL将是
DECLARE @Name VARCHAR(20)
SET @Name = 'Tom'
SELECT @Name
Run Code Online (Sandbox Code Playgroud)
什么是Oracle PL/SQL相当于此?
这是我提出的最接近的,但是我得到了"PLS-00428:在这个SELECT语句中需要一个INTO子句"
DECLARE
myname varchar2(20);
BEGIN
myname := 'Tom';
select myname from DUAL;
END;
Run Code Online (Sandbox Code Playgroud)
这是我真正想要做的更好的例子:
DECLARE
myname varchar2(20);
BEGIN
myname := 'Tom';
SELECT *
FROM Customers
WHERE Name = myname;
END;
Run Code Online (Sandbox Code Playgroud)
但是,当我真的只想要在屏幕上打印的记录而不是存储在另一个表格中时,它想要一个'INTO'.
解决:
感谢@Allan,我的工作得很好.Oracle SQL Developer显然会记住您提供的参数值.然而,PL/SQL Developer不想与此有任何关系....

如果您"运行为脚本",它将遵循您的默认值,但它只会返回结果作为ASCI文本,而不是网格/电子表格

这是我的查询
SELECT
COUNT(C.SETID)
FROM
MYCUSTOMER C
LEFT OUTER JOIN MYCUSTOPTION CO
ON
(C.SETID = CO.SETID
AND C.CUST_ID = CO.CUST_ID
AND CO.effdt = (
SELECT MAX(COI.EFFDT)
FROM MYCUSTOPTION COI
WHERE
COI.SETID = CO.SETID
AND COI.CUST_ID = CO.CUST_ID
AND COI.EFFDT <=SYSDATE
)
)
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误消息..

我究竟做错了什么???
一天早上,我只是想让SQL开发人员处理当前的设置而浪费时间:
可重复的步骤是
我收到以下消息:
无法启动Java虚拟机
位于路径:
C:/ Program Files/sqldeveloper/jdk/jre/bin/server/jvm.dll
有人可以帮帮我吗?我还尝试首先安装Java 1.8(64位),然后安装没有Java的SQL开发人员版本.这也不起作用.当我选择JDK home的位置时,它还发送了一条错误消息,说它找不到我说的任何JVM.为了增加侮辱伤害,每次我按照这个程序,熊猫防病毒告诉我sqldeveloper被感染,删除文件并鼓励我重新启动.
有人可以帮帮我吗?我非常感谢.
非常感谢你提前
oracle ×8
sql ×3
java ×2
plsql ×2
sqlplus ×2
database ×1
dbms-output ×1
sql-server ×1
t-sql ×1
windows-8.1 ×1