db2 在SqlDbx 3.47中是否有任何方法可以声明变量?

kuhbmx9i  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(181)

假设我想做这样的事情,但是我不知道如何在SqlDbx中做。

DECLARE @COUNT INT;
SET @COUNT = (SELECT COUNT(*) FROM products);
SELECT @COUNT;

也可能是这样

DECLARE @A INT;
DECLARE @B INT;
SET @A = 1;
SET @B = 2;

IF @A > @B
BEGIN
   PRINT 'FALSE'
END

在SqlDbx中可以完成类似的操作吗?

unhi4e5o

unhi4e5o1#

对于IBM i(即Db2 for i series),您可以使用dynamic compound statement,它允许匿名块声明变量,并以各种方式使用这些变量进行服务器端处理。
请记住,使用复合SQL时,所有内容都在Db2服务器上运行,而不是在您的客户端工作站上(即不在SQLDbx中),因此您不能使用print语句,因为它不是SQL。
如果需要将参数传递到块中,请考虑创建一个例程(存储过程或用户定义函数)。如果需要获取结果集,请使用存储过程或表函数。
关于动态复合语句中允许哪些SQL语句的详细信息,请参考IBMi知识中心。这里有许多规则和限制。

相关问题