Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

Создание тригера.   Найти похожие ветки 

 
User_OKA   (2003-10-17 06:40) [0]

Есть справочник:
Fam Name Otch Fio
можно ли написать триггер для объединения содержимого 3 полей Fam Name и Otch и записи полученного значения в поле Fio, желательно код.
Заранее спасибо.


 
ЮЮ ©   (2003-10-17 06:43) [1]

А ещё код по корректировке полей Fam Name и Otch при изменении поля Fio :-)


 
stud ©   (2003-10-17 09:12) [2]

а зачем тебе это нужно??? если для отображения в каких-нибудь формах - так делай это в запросе


 
Johnmen ©   (2003-10-17 09:31) [3]

см. документацию - создание вычисляемых (COMPUTED) полей.


 
Alex_Bredin ©   (2003-10-17 09:35) [4]

короче говоря, поле FIO вообще удали - его существование ничем не может быть оправдано


 
Alexandr ©   (2003-10-17 10:42) [5]


SET TERM ^ ;

ALTER TRIGGER DRIVERS_BI
ACTIVE BEFORE INSERT POSITION 0
as
declare variable driver_im varchar(2);
declare variable driver_otch varchar(2);
BEGIN
IF (NEW.ID IS NULL) THEN
NEW.ID = GEN_ID(GEN_DRIVERS_ID,1);
driver_im="";
driver_otch="";
driver_im=cast(substring(new.im from 1 for 2) as varchar(2))||"."; if (driver_im is null) then driver_im="";
if (driver_im=".") then driver_im="";
driver_otch=cast(substring(new.otch from 1 for 2) as varchar(2))||"."; if (driver_otch is null) then driver_otch="";
if (driver_otch=".") then driver_otch="";
if (new.fam is null) then new.fam="";
new.fullname=new.fam||" "||driver_im||" "||driver_otch;

END

^

SET TERM ; ^



 
Johnmen ©   (2003-10-17 10:56) [6]

>Alexandr © (17.10.03 10:42)

Интересно получится, если не указано имя :)))


 
Alexandr ©   (2003-10-17 11:34) [7]

ну... возможны нюансы...
можно еще подрихтовать чуть-чуть...


 
User_OKA   (2003-10-20 14:25) [8]

Поля Fam, Name, Otch обязательны для заполнения.
Поле Fio редактироваться не будет. Организовываю для выбора из справочника.

Help!!!


 
stud ©   (2003-10-20 14:28) [9]

так делай выбор
select fam||" "||name||" "||otch as fio, pole1. pol2.... from
тригер-то зачем?


 
User_OKA   (2003-10-20 14:48) [10]

Выбор из справочника - чтобы пользователь на форме выбирал какое-то значение.


 
mOOx_ ©   (2003-10-20 14:51) [11]

KEY_EMPLOYEE DMN_PK,
KEY_POSTTYPE INTEGER,
KEY_TEACHTYPE INTEGER,
FIRSTNAME DMN_STR1 NOT NULL,
MIDDLENAME DMN_STR1 NOT NULL,
LASTNAME DMN_STR1 NOT NULL,
FULLNAME COMPUTED BY (LASTNAME||" "||FIRSTNAME||" "||MIDDLENAME),
PHOTO DMN_DATA,
BIRTHDAY DATE NOT NULL,
SEX DMN_SEX,
CHARGEDATE DATE,
DISCHARGEDATE DATE,
INFORMATION DMN_INFO
);
Сам, надеюсь, разберешься, что к чему :)


 
User_OKA   (2003-10-20 14:54) [12]

Нет не разберусь.


 
mOOx_ ©   (2003-10-20 14:56) [13]

А это что такое!!!
FULLNAME COMPUTED BY (LASTNAME||" "||FIRSTNAME||" "||MIDDLENAME),
а-а-а-а-а-а-а-а-а-а-а-а-а-а, караул !!!


 
stud ©   (2003-10-20 15:03) [14]

так форму опиши. что нужно выбирать и зачем?


 
User_OKA   (2003-10-20 15:08) [15]

Есть справочник:
Fam Name Otch Fio
можно ли написать триггер для объединения содержимого 3 полей Fam Name и Otch и записи полученного значения в поле Fio, желательно код.

Идея в том, чтобы у пользователя на форме был ComboBox для выборки значения из справочника. Для этого я и хочу объеденить три поля Fam Name Otch в одно Fio.

Заранее спасибо.


 
Vlad ©   (2003-10-20 15:18) [16]

Сто первый раз спрошу, а обязателен ли для этого триггер ?
FIO можно получить сложением трех полей(Fam,Name,Otch) в SQL запросе. Глупо, по-моему для этого создавать доп. поле в таблице.


 
User_OKA   (2003-10-20 15:21) [17]

to> Vlad
Идея в том, чтобы у пользователя на форме был ComboBox для выборки значения из справочника.


 
Vlad ©   (2003-10-20 15:25) [18]

У тебя будет ComboBox с полем "ФИО"! Но при этом не будет такого поля в базе, ни триггера.
Устроит ?


 
stud ©   (2003-10-20 15:25) [19]

ну так что еще нужно????
так делай выбор
select fam||" "||name||" "||otch as fio, id from table
в комбобоксе отображаеш fio, поиск нужной записи по id вот и все. зачем тригер???????????
выбрал он из справочника выводи ему нужную запись-id


 
mOOx_ ©   (2003-10-20 16:23) [20]

2Vlad © (20.10.03 15:18) [16]
Сто первый раз спрошу, а обязателен ли для этого триггер ?
Триггер - это действительно глупо
Глупо, по-моему для этого создавать доп. поле в таблице.
Если использовать computed, то по большому счету такое поле и полем то назвать нельзя :). Там веть кроме формулы ничего не храниться. Конечно, в данном случае, может и лучше запросом, но если записей много, то может по быстрее будет :)



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.047 c
1-41427
karus
2003-10-29 14:59
2003.11.13
ReadOnly в ComboBox


1-41577
Furkan
2003-10-27 13:35
2003.11.13
MDI и scroll


3-40957
gds
2003-10-16 17:12
2003.11.13
Что не так ?


1-41705
mc_duck
2003-11-03 20:06
2003.11.13
Окно с секретом


1-41510
Rradion
2003-10-28 12:56
2003.11.13
EAccessViolation в алгоритме поиска...