Я не эксперт, но для hana 2.0 SPS04: Я думаю, что ваш синтаксис неправильный, вам нужен следующий синтаксис для более чем одного входного параметра:
-- option 1 - no WITH PARAMETERS clause
SELECT "FOO"
FROM "_SYS_BIC"."public.FOO_CV"(
'PLACEHOLDER' = ('$$IP2$$','1'),
'PLACEHOLDER' = ('$$IP1$$','2'),
'PLACEHOLDER' = ('$$CE_SUPPORT$$','d_calcengine'));
-- option 2 - WITH PARAMETERS clause
SELECT "FOO"
FROM "_SYS_BIC"."public.FOO_CV" WITH PARAMETERS (
'PLACEHOLDER' = ('$$IP2$$','1'),
'PLACEHOLDER' = ('$$IP1$$','2'),
'PLACEHOLDER' = ('$$CE_SUPPORT$$','d_calcengine'));
-- option 3 - mixed
SELECT "FOO"
FROM "_SYS_BIC"."public.FOO_CV" WITH PARAMETERS (
'PLACEHOLDER' = ('$$IP2$$','1'),
'PLACEHOLDER' = ('$$IP1$$','2'))
WITH PARAMETERS ('PLACEHOLDER' = ('$$CE_SUPPORT$$','d_calcengine'));
Используемый вами синтаксис действителен для ответ на входной параметр, который допускает более одного значения в качестве ответа.
здесь IP1 и IP2 были созданы в виде вычисления, тогда как входной параметр CE_SUPPORT немного отличается - его можно указать для любого представление расчета (с предложением WITH PARAMETERS или без него) и не является частью определения CV.
Что касается различия между предложением WHERE и синтаксисом PLACEHOLDER, различия следующие:
синтаксис другой (тест)
это две разные вещи - WHERE используется для предложения WHERE и PLACEHOLDER используется для передачи ответа входного параметра (тесто)
пункт 2. имеет смысл, только если вы знаете, что такое входные параметры - это объекты, которые можно использовать в различных путей в Сап хана. Они могут дать вам тот же результат, что и предложение WHERE, но также могут использоваться и другими способами, например, в так называемых вычисляемых столбцах, в отображении входных параметров, производных столбцах, которые, я думаю, также и в конвертации валют и т. Д. c. и др c.