我无法在函数内声明一个数组。它显示以下错误。
错误:[SQ20441]数组类型在指定的位置无效。
我的代码如下,
document.getElementById('wptv_services_common_widgets_player_silverlight_PlayerObject_0').Pause()
请帮我解决这个问题。我是DB2 i7.1的新手,我无法做到 明白出了什么问题。
答案 0 :(得分:0)
该sqlcode = -20441的IBM i 7.1文档未列出\包括SQL标量函数为其中可以进行数组类型规范[既不作为参数也不声明变量]。参见:
SQ20441
消息文本:数组类型在指定的位置无效 原因文本:使用了数组类型,但在指定的上下文中不允许使用。只能使用数组类型:•作为SQL或JAVA程序的参数 •对于在SQL过程中声明的SQL变量 •在SQL过程中的CAST规范中。
恢复文本:删除对数组类型的引用。再次尝试请求。
SQLCODE或SQLCODE:-20441
SQLSTATE或SQLSTATEs:428H2
除此之外,如果引用是允许的代码:
•EXISTS谓词不允许使用OP中编写的语法;可能需要以下谓词:
if cardinality(AVAILABLE_REV_QTY) >= IN_IPID then
•THEN
CASE
中的语句丢失后需要分号
•INITIAL_REV_QTY INTEGER
未被引用
•DECLARE AVAILABLE_REV_QTY REV_QTY ;
有DEFAULT NULL
所以即使CARDINALITY
没有用,除非首先构造数组值;也许作为一个论点传递
注意:例程的工作可以组成一个SQL PROCEDURE
,也许可以重写FUNCTION
来调用存储过程来执行数组工作 - 不确定,因为OP中没有清楚数据的数据。