INVALID_ARRAY_INDEX错误类

SQLSTATE: 22003

该指数< indexValue >是界外。的数组< arraySize >元素。使用SQL函数get ()容忍在无效索引访问元素,返回NULL。如果必要的设置< ansiConfig >“假”绕过这个错误。

参数

  • indexValue:请求的索引数组。

  • arraySize:数组的基数。

  • ansiConfig:配置设置来改变ANSI模式。

解释

不像element_at英语教学,一个参考indexValue到一个数组中使用arrayExpr [indexValue]语法之间必须0的第一个元素arraySize- - - - - -1最后一个元素。

一个负indexValue或一个值大于或等于arraySize是不允许的。

缓解

这个错误取决于目的的缓解:

例子

——一个INVALID_ARRAY_INDEX错误因为不匹配的索引>选择数组(“一个”,“b”,“c”)[指数](1),(3)作为T(指数);(INVALID_ARRAY_INDEX]指数3界限数组3元素如果必要的“ANSI_MODE”绕过错误——使用element_at而不是基于索引>选择element_at(数组(“一个”,“b”,“c”),指数)(1),(3)作为T(指数);一个c——调整指数是基于0>选择数组(“一个”,“b”,“c”)[指数- - - - - -1](1),(3)作为T(指数);——基于容忍与调整绑定数组索引的索引>选择try_element_at(数组(“一个”,“b”,“c”),指数+1)(1),(3)作为T(指数);b——一个INVALID_ARRAY_INDEX错误,因为负折射率>选择数组(“一个”,“b”,“c”)[指数](- - - - - -1),(2)作为T(指数);(INVALID_ARRAY_INDEX]指数- - - - - -1界限数组3元素如果必要的“ANSI_MODE”“假”绕过错误——使用element_at指数相对于数组的末尾>选择element_at(数组(“一个”,“b”,“c”),指数)(- - - - - -1),(2)作为T(指数);cb——容忍一个绑定的指数在砖通过设置ansiConfig SQL>ANSI_MODE=;>选择数组(“一个”,“b”,“c”)[指数](1),(3)作为T(指数);b>ANSI_MODE=真正的;——容忍一个绑定的指数在砖通过设置ansiConfig运行时>火花sqlansi启用=;>选择数组(“一个”,“b”,“c”)[指数](1),(3)作为T(指数);b>火花sqlansi启用=真正的;