Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Пересчёт вычисляемого поля / 8 сообщений из 8, страница 1 из 1
09.06.2004, 10:50
    #32553662
Levon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересчёт вычисляемого поля
Всем привет. У меня такая ситуация: есть DW, построенное на некотором запросе, в котором присутствует такая строка
select ..., get_crosscurs(dateallow,currency,cur_id ) as gtd_cross, ...
где get_crosscurs - имя хранимой функции.
Я добавляю в DW новую запись. Как мне для нее вычислить поле gtd_cross? Спасибо заранее
...
Рейтинг: 0 / 0
09.06.2004, 10:57
    #32553694
Сотников
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересчёт вычисляемого поля
Функция сервера и клиент это разные вещи.
...
Рейтинг: 0 / 0
09.06.2004, 11:11
    #32553729
Levon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересчёт вычисляемого поля
Я же пишу, что ХРАНИМОЙ функции, т.е. на сервере. Кстати, PB 9, dbms ASA 5.05
...
Рейтинг: 0 / 0
09.06.2004, 11:21
    #32553757
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересчёт вычисляемого поля
Можно попробовать вот так:
Код: plaintext
dw_1.ReselectRow( dw_1.GetRow() )
А вообще то раз набор данных изменяется пользователем, то лучше вычисляемые столбцы в таком случае организовывать на стороне клиента.
...
Рейтинг: 0 / 0
09.06.2004, 11:31
    #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
09.06.2004, 12:19
    #32553929
Levon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересчёт вычисляемого поля
to dGrichine: спасибо за совет. Так прорваться, конечно можно, но IMHO не очень красиво получается. Может, как-то перестроить структуру DW?

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

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


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