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啟用=真正的;