Rocket Shuttle DB2 Z / OS的语法问题

时间:2014-02-26 15:46:17

标签: sql variables db2

我是Rocket Shuttle和DB2 SQL的新手,但已经使用了相当数量的Microsoft SQL。我最近一直在尝试在Rocket Shuttle中编写一个查询,该查询从一个列中有一个空字符串的数据库中获取数据,将所有适当的数据存储在临时表中,然后根据两个条目更新每个条目的空字符串列表中的其他数据。但是,我似乎在努力学习DB2 Z / OS的语法,并且已经在线搜索了大约一整天的时间来获得适当的解决方案,但却没有找到。

我最大的困难似乎只是创造变量。我在他们自己的个人查询中尝试了以下两种方法:

CREATE VARIABLE asdf INTEGER

DECLARE asdf INTEGER

他们都返回错误。对于CREATE VARIABLE行,错误为

BIC00004. DAL01008. An error occurred while accessing the database. ILLEGAL SYMBOL 
"VARIABLE". SOME SYMBOLS THAT MIGHT BE LEGAL ARE: ALIAS AUXILIARY DATABASE FUNCTION 
GLOBAL INDEX. SQLCODE=-104, SQLSTATE=42601, DRIVER=3.50.152

并且对于DECLARE行,错误是

BIC00004. DAL01008. An error occurred while accessing the database. ILLEGAL USE OF 
KEYWORD INTEGER.  TOKEN TABLE STATEMENT , . SCROLL INSENSITIVE SENSITIVE ASENSITIVE NO 
WAS EXPECTED. SQLCODE=-199, SQLSTATE=42601, DRIVER=3.50.152

我确信这是一个很小的语法,我做错了,或者我的火箭穿梭机中的一些设置与SQL紧密相关,但我老实说不知道是什么,因为我的谷歌搜索让我无处可去。在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

使用CREATE VARIABLE创建的全局变量仅在DB2 11 for z / OS中可用。有关如何编写SQL PL过程代码的示例,请检查手册中的CREATE PROCEDURE语句参考:http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/topic/com.ibm.db2z10.doc.sqlref/src/tpc/db2z_sql_createproceduresqlnative.htm