Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.031 c
3-40828
Miwa
2003-10-22 05:45
2003.11.13
С чего начать или Какую СУБД/технологию/литературу посоветуете?


1-41181
Volly
2003-11-02 16:03
2003.11.13
Реализация переменного кол-ва параметров


7-42188
Olexandr
2003-08-27 13:45
2003.11.13
FIFO event


8-41766
Эдуард
2003-07-05 22:06
2003.11.13
Помогите с OpenGl


14-41905
Dmitriy O.
2003-10-15 16:24
2003.11.13
Конвертация форматов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский