Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Computed by


zorik ©   (2004-10-13 16:18:00) 

Можно ли создать поле computed by с условием?


sniknik   (2004-10-13 20:35:00) [1]

про CASE в FB1.5 это я знаю
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1096964604&n=1

вот как сделать подобную конструкцию с помощью UDF...
хотя я кажется понял что ты имееш ввиду, не прямое повторение а просто функцию, на вход эти два параметра а возврашать нужное (case будет внутри функции).
я почемуто думал о повторении.


Vlad   (2004-10-13 18:23:00) [2]


> sniknik ©   (13.10.04 18:15) [8]


> > computed by это из oracle (так ? есть там такое, может
> еще где)

почему только из Оракла, в IB тоже cоmputed by есть (в IB6 и Yaffil уж точно, в более ранних версиях не уверен)


Johnmen   (2004-10-13 18:23:00) [3]

>sniknik ©   (13.10.04 18:15) [8]

И то и другое.
В FB1.0 нет CASE => UDF. В FB1.5 CASE - конструкция языка. Вполне применима в выч.полях.


sniknik   (2004-10-13 18:15:00) [4]

догадки по коду это одно, уверенность другое.

> double precision это из ib и клонов ... наверное еще где встречается
> computed by это из oracle (так ? есть там такое, может еще где)
вот и догадайся тут, когда реальное с желаемым мешают.

> В FB1.0 разве что с пом. UDF
именно вычисляемое поле или конструкцию с выбором в запросе навроде как 1.5 есть?
если именно вычисляемое, тоже хотел бы узнать как.


Anatoly Podgoretsky   (2004-10-13 17:38:00) [5]

sniknik ©   (13.10.04 17:21) [5]
Johnmen он умный


Johnmen   (2004-10-13 17:32:00) [6]

:)
В FB1.0 разве что с пом. UDF


sniknik   (2004-10-13 17:21:00) [7]

а вот догадайся, ты же Johnmen-у не сказал, предпочел глупо ухмыльнутся, а мне грустно от этого. ;о(((


zorik   (2004-10-13 16:48:00) [8]

2 sniknik> какая СУБД?
у меня Firebird 1.0


sniknik   (2004-10-13 16:45:00) [9]

CREATE TABLE t1 (t int, q float,
   q_s AS CASE t
           WHEN 0 THEN 0
           ELSE q/t
          END)


;(


zorik   (2004-10-13 16:35:00) [10]

create table t1
(t integer,
 q    double precision,
 q_s  computed by (q/t))

и сдесь проверить если t=0 то q_s=0 иначе q_s=q/t

:)


Johnmen   (2004-10-13 16:25:00) [11]

Сервер ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо