powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Пересчёт вычисляемого поля
8 сообщений из 8, страница 1 из 1
Пересчёт вычисляемого поля
    #32553662
Levon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. У меня такая ситуация: есть DW, построенное на некотором запросе, в котором присутствует такая строка
select ..., get_crosscurs(dateallow,currency,cur_id ) as gtd_cross, ...
где get_crosscurs - имя хранимой функции.
Я добавляю в DW новую запись. Как мне для нее вычислить поле gtd_cross? Спасибо заранее
...
Рейтинг: 0 / 0
Пересчёт вычисляемого поля
    #32553694
Сотников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Функция сервера и клиент это разные вещи.
...
Рейтинг: 0 / 0
Пересчёт вычисляемого поля
    #32553729
Levon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я же пишу, что ХРАНИМОЙ функции, т.е. на сервере. Кстати, PB 9, dbms ASA 5.05
...
Рейтинг: 0 / 0
Пересчёт вычисляемого поля
    #32553757
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать вот так:
Код: plaintext
dw_1.ReselectRow( dw_1.GetRow() )
А вообще то раз набор данных изменяется пользователем, то лучше вычисляемые столбцы в таком случае организовывать на стороне клиента.
...
Рейтинг: 0 / 0
Пересчёт вычисляемого поля
    #32553781
dGrichine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажем прямо это не вычислимое поле (computed field) с точки зрения PB

твой вопрос можно перефразировать так:
как мне выполнить хранимую процедуру на сервере БД и вернуть ее значение...

думаю можно с использованием dynamic SQL (почитай хелп "Using dynamic SQL") или embedded SQL (возможно)


в тот момент когда все значения для твоей функции определены
для dynamic SQL:
строишь строчку вида, например для Oracle

select name_proc(......) into :ls_result from dual;

и выполняешь ее - получаешь значение

для embded SQL:
select proc_name(:ls_1, :ls_2, :ls_3) into :ls_result from dual;

возвращаемым значением ls_result заполняешь поле в dw

===
Гришин Дмитрий
...
Рейтинг: 0 / 0
Пересчёт вычисляемого поля
    #32553929
Levon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to dGrichine: спасибо за совет. Так прорваться, конечно можно, но IMHO не очень красиво получается. Может, как-то перестроить структуру DW?

to ASCRUS: а как можно организовать такой столбец?
...
Рейтинг: 0 / 0
Пересчёт вычисляемого поля
    #32553959
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Levonto ASCRUS: а как можно организовать такой столбец?
Кидаете на DW Computed Field, в его Expession пишите выражение его вычисления, если в визуально его видить не надо, выставляете Visible в 0.

P.S. Если вычисления сложные, то можно написать глобальную функцию в PB, и в Expression просто ее вызывать, передавая параметры нужных колонок для вычислений выражения.
...
Рейтинг: 0 / 0
Пересчёт вычисляемого поля
    #32554016
Levon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, то, что надо! Спасибо!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Пересчёт вычисляемого поля
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]