[英]Variables in where clause in Oracle PL/SQL Developer
在ORACLE PL / SQL DEVELOPER中,是否可以像在SQL Server中一样轻松地执行以下操作?
DECLARE @EmpIDVar INT
SET @EmpIDVar = 1234
SELECT *
FROM Employees
WHERE EmployeeID = @EmpIDVar
这看起来很简单,但是在Oracle中似乎是不可能的!
我知道在变量前使用&会提示我输入它们的值,但是为什么我不能做上面的事情?
嗨,在这里你可以看到另一个答案
如何在Oracle PL / SQL where子句中使用变量
set serveroutput on
DECLARE
EmpIDVar integer;
Result integer;
BEGIN
EmpIDVar := 2000;
SELECT Employees_id into Result
FROM Employees
WHERE Employees_ID = EmpIDVar ;
dbms_output.Put_line(Result);
end;
如果要显示所有(*),则需要显示所有变量,所以就像我说的那样,您需要与字段一样多的varialbes。
声明使用VARIABLE
命令
VARIABLE EmpIDVar NUMBER;
像这样使用EXEC
设置值
EXEC :EmpIDVar := 1234;
运行带有colon
前缀的查询查询
SELECT *
FROM Employees
WHERE EmployeeID = :EmpIDVar;
使用Variable和select with IN子句也许更有用。
VARIABLE EmpIDVar NUMBER
DEFINE EmpIDVar ="123, 124"
EXEC : EmpIDVar := '& EmpIDVar'
SELECT
E.*
FROM Employees E
WHERE EmployeeID IN ( & EmpIDVar )
如果不是,只需将IN替换为“ =”,将“ 123,124”替换为“ 123”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.