如何在Oracle PL/SQL块中一行声明多个变量

12

我想在一行中声明多个变量,有没有什么方法可以实现?

DECLARE
A integer :=10;
B integer :=5;
BEGIN

END;

我想在一行中声明变量a和b。

提前感谢。


我没有遇到过这种情况,但可以使用集合或记录数据类型来完成。 - Ashish sinha
离题了,只是好奇,你为什么想要这样做? - Alex Peta
我个人非常希望看到这种语法(在其他一些语言中看到过)被添加到PL/SQL中,例如 a, b, c, d, e integer; 尽管我不确定默认值是如何工作的。 - Jeffrey Kemp
2个回答

16

不知道为什么你会故意让你的代码变得不易读,但是只需要将它们放在一行上:

set serveroutput on
DECLARE
  A integer :=10;B integer :=5;
BEGIN
  dbms_output.put_line(a ||':'|| b);
END;
/

anonymous block completed
10:5

分号是PL/SQL中的语句分隔符,无论是否有空格或新行都无关紧要;与在SQL*Plus中运行的普通SQL不同,那里在分隔符后的新语句必须放在新行上,但这是客户端的事情。也许您指的是其他内容...


谢谢你的帮助,但是有没有更好的方法? - Adarsh
@AdarshPatel - 以什么方式更好?你是在问是否可以在一条语句中定义两个变量吗?这对于标量变量来说是不可能的。 - Alex Poole
我认为他在寻找类似于这样的东西,但是针对PL/SQL:https://dev59.com/questions/82025IYBdhLWcg3wHSGo#31910261 - James Daily

6
不,这是在PLSQL中的工作方式。

感谢您的回复。 - Adarsh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接