2

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

是否可以在此实用程序中使用变量?许多 Stack Overflow 答案(以及其他论坛上的答案)指示人们使用如下代码:

BEGIN ATOMIC
DECLARE x VARCHAR(1);
SET x = 'A';
SELECT * FROM  MySchema.MyTable Where MyColumn = x;
END@

这在“运行 SQL 脚本”实用程序中不起作用,引发异常“令牌 ATOMIC 无效”。如果我删除关键字 ATOMIC,我会收到错误“令牌 X 无效”。如果我删除整个 BEGIN 和 END 行,我会收到错误“令牌 VARCHAR 无效”。

另一组答案指示人们使用如下代码,该代码也会失败并出现相同的“...无效”错误:

CREATE VARIABLE x VARCHAR(1) DEFAULT ('A');
SELECT * FROM MySchema.MyTable WHERE MyColumn = x;
DROP VARIABLE x;

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

4

1 回答 1

3

DB2 for i 在 7.1 中添加了全局变量支持和动态复合语句支持。

系统本身还在运行 v5r4 吗?或者您只是在运行客户端访问的后级版本?如果是后者,请将您的 IBM iAccess 升级到 7.1。如果是前者,那么在系统升级之前您就是 SOL。

于 2014-03-22T23:33:37.827 回答