我是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紧密相关,但我老实说不知道是什么,因为我的谷歌搜索让我无处可去。在此先感谢您的帮助!
答案 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