首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Oracle SQL Developer中使用变量?

如何在Oracle SQL Developer中使用变量?
EN

Stack Overflow用户
提问于 2011-04-14 01:52:16
回答 9查看 423.9K关注 0票数 127

下面是在SQL Server2000中使用变量的示例。

DECLARE @EmpIDVar INT

SET @EmpIDVar = 1234

SELECT *
FROM Employees
WHERE EmployeeID = @EmpIDVar

我想在Oracle中使用SQL Developer做完全相同的事情,而不增加复杂性。这似乎是一件非常简单的事情,但我找不到一个简单的解决方案。我该怎么做呢?

EN

回答 9

Stack Overflow用户

发布于 2013-01-15 16:16:06

我使用的是版本3.2中的SQL-Developer。其他的东西对我不起作用,但这件事起作用了:

define value1 = 'sysdate'

SELECT &&value1 from dual;

此外,这也是这里介绍的最巧妙的方式。

(如果您省略了“定义”-part,系统将提示您输入该值)

票数 103
EN

Stack Overflow用户

发布于 2011-04-14 02:08:15

在SQL*Plus中,您可以执行非常类似的操作

SQL> variable v_emp_id number;
SQL> select 1234 into :v_emp_id from dual;

      1234
----------
      1234

SQL> select *
  2    from emp
  3   where empno = :v_emp_id;

no rows selected

在SQL Developer中,如果您运行的语句具有任意数量的绑定变量(以冒号为前缀),系统将提示您输入值。正如Alex指出的,您也可以使用"Run Script“函数(F5)和Alex建议的替代EXEC语法来做类似的事情。

variable v_count number;
variable v_emp_id number;
exec :v_emp_id := 1234;
exec select count(1) into :v_count from emp;
select *
  from emp
 where empno = :v_emp_id
exec print :v_count;
票数 53
EN

Stack Overflow用户

发布于 2016-07-08 18:22:37

好吧,我知道这有点麻烦,但这是一种在简单查询中使用变量的方法,而不是脚本:

WITH
    emplVar AS
    (SELECT 1234 AS id FROM dual)
SELECT
    *
FROM
    employees,
    emplVar
WHERE
    EmployId=emplVar.id;

你可以在任何地方运行它。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5653423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档