"declare" 与 sqlplus 和 sql 开发人员一起使用,但为什么不与 sql 导航器一起使用?

"declare" works with sqlplus and sql developer but why not with sql navigator?

我尝试在 sqlplus 和 sql 开发人员上 declare/initialize 变量,它成功了。 但是当我 copy/paste 相同的代码并在 sql 导航器上执行时,它不起作用。 你能告诉我为什么以及我需要改变什么以便它也适用于 sql 导航器吗?

variable g_firstname varchar2(30)
variable g_lastname varchar2(30)
declare
v_firstname varchar2(30);
v_lastname varchar2(30);
begin
v_firstname := 'Tony';
v_lastname := 'Stark';
:g_firstname := v_firstname;
:g_lastname := v_lastname;
end;
/
print g_firstname g_lastname

不是declare,而是variable

SQL Plus 是 Oracle 的命令行工具,可让您访问 Oracle 数据库。 SQL Developer是Oracle的GUI工具;因此,它能够执行 运行 条 SQL 加命令。

但是,其他工具并非如此 - 它们适用于纯 SQL 或 PL/SQL,但 不适用于 SQL *加上命令。

因此,删除前两行并执行其余部分。它 应该 工作,但是 - 不是你想要的方式。