[英]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.