![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
переос данных из ibQuery [IB6.x]
Itonixxx © (2006-11-12 17:07:00)предположим у меня есть запрос, который возвращяет определенные запсии и имеет несколько расчетных полей (расчитывають ОнКалькФилдс).
можно ли результат выполнения этого запроса (надор данных с уже расчитаными поляи) вынести в отдельную табличку? без использования визуальных компонентов?
Johnmen (2006-11-13 10:09:00) [1]
> MikePetrichenko © (13.11.06 00:45) [13]
> MikePetrichenko © (13.11.06 01:01) [15]
Причём тут сервер, если значения лежат на клиенте?
И второе. Желание видеть актуальное изменение значений полей НД в зависимости от др. изменяемых значений, указанных выше.
Anatoly Podgoretsky (2006-11-13 07:44:00) [2]> MikePetrichenko (13.11.2006 0:45:13) [13]
> Не беру в расчет Paradox и иже с ним.
И чем он тебе не угодил, тоже вроде можно
MikePetrichenko (2006-11-13 01:01:00) [3]
> Элементарный и встречающийся повсеместно пример - подстановка
> значений, не хранящихся в БД.
Та ну! А case и хранимые процедуры уже отменили?
DrPass (2006-11-13 00:58:00) [4]
> Честное слово, за 10 лет работы с базами данных ни разу
> не встретил задачи, которая бы требовала использования OnCalcField
> и не позволяла перенести эти самые калк филды на сторону
> сервера/запроса.
Элементарный и встречающийся повсеместно пример - подстановка значений, не хранящихся в БД.
MikePetrichenko (2006-11-13 00:45:00) [5]Честное слово, за 10 лет работы с базами данных ни разу не встретилзадачи, которая бы требовала использования OnCalcField и не позволяла перенести эти самые калк филды на сторону сервера/запроса.
P.S. Не беру в расчет Paradox и иже с ним.
Johnmen (2006-11-12 20:07:00) [6]
> Anatoly Podgoretsky © (12.11.06 19:10) [11]
Возможно.
Но я допускаю и вполне реальную потребность в вычисляемом поле в НД. Которую не заменят ни вычисляемые поля в таблице, ни вычисляемые поля в запросе.
Anatoly Podgoretsky (2006-11-12 19:10:00) [7]
> Может. Только, судя по тому, что используется ОнКалкФиелдс,
> применение COMPUTED полей неприменимо для удовлетворения
> локальных потребностей приложения.
Уверен, я думаю тут дело в знаниях, а не в неприменимости.
Anatoly Podgoretsky (2006-11-12 19:09:00) [8]
> Нельзя, у него же ОнКалкФиелдс, которые он хочет в "отдельную
> таблицу".
Пусть эти ОнКалкФиелдс сделает в запросе, запрос то у него есть, а ОнКалкФиелдс это в основном для Table
Desdechado (2006-11-12 19:00:00) [9]а может, просто автору о них неизвестно...
Johnmen (2006-11-12 18:46:00) [10]
> если принцип их калькулирования не очень сложный, то в таблице
> может быть свой набор полей COMPUTED. IB это позволяет.
Может. Только, судя по тому, что используется ОнКалкФиелдс, применение COMPUTED полей неприменимо для удовлетворения локальных потребностей приложения.
Desdechado (2006-11-12 18:21:00) [11]> у него же ОнКалкФиелдс, которые он хочет в "отдельную таблицу"
если принцип их калькулирования не очень сложный, то в таблице может быть свой набор полей COMPUTED. IB это позволяет.
Johnmen (2006-11-12 17:53:00) [12]
> Anatoly Podgoretsky © (12.11.06 17:29) [2]
> Вместо values подставить select сразу с результатом
Нельзя, у него же ОнКалкФиелдс, которые он хочет в "отдельную таблицу".
MikePetrichenko (2006-11-12 17:42:00) [13]insert into TABLE_NAME(Fields)
select Fields
from TABLE_NAME_2
join TABLE_NAME_3 on Field_TABLE_NAME_3_ID = TABLE_NAME_2_3_REFERENCE
where (conditions);
Itonixxx (2006-11-12 17:41:00) [14]в догонку:
а в каком месте надо его писать?
в онКалькФилдс или после отработки запроса?
Itonixxx (2006-11-12 17:34:00) [15]> Anatoly Podgoretsky © (12.11.06 17:29) [2]
> Johnmen (12.11.2006 17:21:01) [1]
Вместо values подставить select сразу с результатом
что-то я не очень понял. а можно примерчик?
Anatoly Podgoretsky (2006-11-12 17:29:00) [16]> Johnmen (12.11.2006 17:21:01) [1]
Вместо values подставить select сразу с результатом
Johnmen (2006-11-12 17:21:00) [17]Можно.
INSERT INTO <отдельная табличка> (<список полей>) VALUES (<список значений>)
И так столько раз, сколько записей в "результатах запроса".