use*_*234 6 oracle variables plsql
在SQL Server中,我可以像这样定义局部变量.
declare @id number := 1000
select * from tbl_A where id = @id;
select * from tbl_B where id = @id;
Run Code Online (Sandbox Code Playgroud)
这很方便.我尝试做同样的事情,PL/SQL但它不起作用.
DECLARE id number;
select 1000 into id from dual;
Run Code Online (Sandbox Code Playgroud)
你知道怎么做类似的事吗?最简单的方法是我的目标.
如果要在PL/SQL中定义局部变量,则需要一个完整的PL/SQL块
DECLARE
id NUMBER;
BEGIN
SELECT 1000
INTO id
FROM dual;
END;
Run Code Online (Sandbox Code Playgroud)
要不就
DECLARE
id NUMBER := 1000;
BEGIN
<<do something that uses the local variable>>
END;
Run Code Online (Sandbox Code Playgroud)
如果要在SQL*Plus中声明变量
SQL> variable id number
SQL> begin
select 1000 into :id from dual;
end;
/
SQL> print id
ID
----------
1000
SQL> SELECT * FROM tbl_a WHERE id = :id
Run Code Online (Sandbox Code Playgroud)