Variables 使用IBM iSeries Navigator声明变量;“运行SQL脚本”;效用

Variables 使用IBM iSeries Navigator声明变量;“运行SQL脚本”;效用,variables,db2,iseries-navigator,Variables,Db2,Iseries Navigator,我是IBM DB2新手,使用iSeries Navigator,IBM iSeries Access for Windows Version 5 Release 4,即“运行SQL脚本”实用程序 是否可以在此实用程序中使用变量?许多堆栈溢出答案(以及其他论坛上的答案)指示用户使用如下代码: BEGIN ATOMIC DECLARE x VARCHAR(1); SET x = 'A'; SELECT * FROM MySchema.MyTable Where MyColumn = x; END@

我是IBM DB2新手,使用iSeries Navigator,IBM iSeries Access for Windows Version 5 Release 4,即“运行SQL脚本”实用程序

是否可以在此实用程序中使用变量?许多堆栈溢出答案(以及其他论坛上的答案)指示用户使用如下代码:

BEGIN ATOMIC
DECLARE x VARCHAR(1);
SET x = 'A';
SELECT * FROM  MySchema.MyTable Where MyColumn = x;
END@
这在“运行SQL脚本”实用程序中不起作用,引发异常“Token ATOMIC was not valid”。如果删除关键字ATOMIC,则会出现错误“Token X was not valid”。如果删除整个开始行和结束行,则会出现错误“Token VARCHAR was not valid”

另一组答案指示用户使用如下代码,同样会出现“…无效”错误:


是否可以在“运行Sql脚本”实用程序中声明变量?

全局变量支持和动态复合语句支持被添加到DB2fori 7.1中


系统本身是否仍在运行v5r4?或者您只是在运行客户端访问的后台版本?如果是后者,请将IBM iAccess升级到7.1。如果是前者,则在系统升级之前,您一直是SOL

动态复合语句允许在BEGIN块的分数内使用局部变量。但只有在安装了技术更新7[TR7]的情况下,此功能才在7.1中可用。
CREATE VARIABLE x VARCHAR(1) DEFAULT ('A');
SELECT * FROM MySchema.MyTable WHERE MyColumn = x;
DROP VARIABLE x;