PeopleCode :1 переменные

Я пытаюсь понять, как определяются и используются переменные :. Я видел, как они используются в основном в командах SQL (SQLExec), и я попытался посмотреть, где они определены.

Примером может служить следующий пример, в котором я вижу: 1 используется, но я не могу понять, где он определен:

SQLExec("%SelectAll(:1) WHERE INV_ITEM_ID = :2 AND VENDOR_ID = :3 AND 
UNIT_OF_MEASURE = :4 AND (CONVERT(CHAR(10),EFFDT,121)) = :5", &RECITEM, 
&InvItemId, &VendorId, &UOM, &MaxEffdt, &RECITEM);

Существуют переменные ':' для :1, :2, :3, :4 и :5. Любая помощь / предложения, где конкретно узнать больше, будут оценены.


person Nick    schedule 14.08.2018    source источник
comment
к вашему сведению, они называются bind variables или bind parameters. Вот несколько статей с дополнительной информацией. 1) akadia.com/services/ora_bind_variables.html 2) use-the-index-luke.com/sql/where-clause/bind-parameters 3) jooq.org/doc/latest /manual/sql-building/bind-values   -  person qyb2zm302    schedule 15.08.2018
comment
Спасибо за информацию и ресурсы!   -  person Nick    schedule 15.08.2018


Ответы (1)


:1,:2 и т. д. являются следующими параметрами в вызове функции SQLEXEC. Итак, в вашем случае

:1 = &RECITEM

:2 = &InvItemId

:3 = &Идентификатор поставщика

:4 = &единица измерения

:5 = &MaxEffdt

Итак, теперь в конце есть один дополнительный параметр, &RECITEM. Это будет хранить результат SQLexec.

Более простым для понимания примером может быть:

SQLExec("SELECT LANGUAGE_CD, OPRDEFNDESC FROM PSOPRDEFN WHERE OPRID = :1", ACL_PRCSRUNCNTL.OPRID, &LANG_CD, &OprDescription) 

:1 = ACL_PRCSRUNCTL.OPRID

И результаты запроса будут помещены в:

&LANG_CD = PSOPRDEFN.LANGUAGE_CD

&OprDescription = PSOPRDEFN.OPRDEFNDESC

person Darryls99    schedule 14.08.2018