DB2 String Tokenizer - PullRequest
       22

DB2 String Tokenizer

0 голосов
/ 23 мая 2019

Я использую строковый код токенизатора, как показано ниже - это было из моего предыдущего вопроса. Он работает нормально без QUALIFIER, но как только я добавляю в него QUALIFIER KGT (имя схемы) - я получаю сообщение об ошибке:

ПОЛОЖЕНИЯ ВСЕГДА ИСКЛЮЧИТЕЛЬНЫ. SQLCODE = -628, SQLSTATE = 42613, ДРАЙВЕР = 4.17.36 Код SQL: -628, Состояние SQL: 42613


    create function regexp_tokenize_number(
      source varchar(1000))
    returns table (tok integer)
    SPECIFIC regexp_tokenize_number
    LANGUAGE SQL
    QUALIFIER KGT
    DETERMINISTIC
    NO EXTERNAL ACTION
    return
    select tok
    from xmltable('for $id in tokenize($s,",") return <i>{string($id)}</i>' 
    passing cast(source as varchar(1000)) as "s"
    columns
      tok integer path 'if (. castable as xs:integer) then xs:integer(.) else ()'
    ) t

DB2 11 в Windows

1 Ответ

1 голос
/ 23 мая 2019

DB2 для IBM i не поддерживает такой синтаксис XPATH.
Это работает на Db2 для LUW, но не на DB2 для IBM i.Ключевое слово

QUALIFIER не указано как разрешенное в операторе CREATE FUNCTION в обеих этих версиях DB2.

...