【发布时间】:2020-07-25 20:56:10
【问题描述】:
问题
我正在努力在 PL/SQL 中定义变量
在 T-SQL 中,很容易声明和设置变量并在 Select 查询中引用它们(如下所示)。但是我如何在 PL/SQL 中做类似的事情呢?
我尝试过什么
这似乎是 Stack 上多次被问到的常见问题,但没有明确的答案!我得到的最接近的是This 链接在这里,但即使我仍然无法让它为我工作。
我的各种 PL/SQL 尝试
DECLARE
myname varchar2(20);
BEGIN
myname := 'Tom';
dbms_output.print_line(myname);
END;
variable v_date datetime;
exec :v_date := to_date('01/01/2014','mm/dd/yyyy');
var myname varchar2(20);
exec :myname := 'Tom';
我正在尝试做的 T-SQL 示例
DECLARE
@String VARCHAR(10),
@Date DATE,
@Integer As INT
SET @String = 'Hello'
SET @Date = '20200413'
SET @Integer = Year(@Date)
SELECT *
FROM TABLE
WHERE 1=1
AND col_a = @String
AND col_b >= @Year
【问题讨论】:
-
var不是 PL/SQL,它是一个 SQL*Plus 命令,只能在 SQL*Plus 中使用(也许在 Oracle SQL Developer 中也是如此,我不知道)。与所有其他数据库不同,T-SQL 混合了过程代码和查询语言 SQL。但是 SQL 作为查询语言没有变量