我是IBM DB2的新手,使用iSeries Navigator,IBM iSeries Access for Windows版本5发行版4,“运行SQL脚本”实用程序。
是否可以在此实用程序中使用变量?许多Stack Overflow答案(以及其他论坛上的答案)指示一个人使用如下代码:
BEGIN ATOMIC
DECLARE x VARCHAR(1);
SET x = 'A';
SELECT * FROM MySchema.MyTable Where MyColumn = x;
END@
这在“运行SQL脚本”实用程序中不起作用,抛出异常“Token ATOMIC无效”。如果我删除关键字ATOMIC,我会收到错误“令牌X无效”。如果我删除整个BEGIN和END行,我会收到错误“Token VARCHAR无效。”
另一组答案指示一个人使用如下代码,这些代码也会因“......无效”错误而失败:
CREATE VARIABLE x VARCHAR(1) DEFAULT ('A');
SELECT * FROM MySchema.MyTable WHERE MyColumn = x;
DROP VARIABLE x;
是否可以在“运行Sql脚本”实用程序中声明变量?
答案 0 :(得分:3)
在7.1 for DB2 for i中添加了全局变量支持和动态复合语句支持。
系统本身是否仍在运行v5r4?或者您只是运行客户端访问的后级版本?如果是更高版本,请将IBM iAccess升级到7.1。如果是前者,那么在系统升级之前你就是SOL。