Оқулық «Білім беруді дамытудың федералды институты»



жүктеу 2,79 Kb.
Pdf просмотр
бет89/101
Дата20.05.2018
өлшемі2,79 Kb.
#15312
түріОқулық
1   ...   85   86   87   88   89   90   91   92   ...   101

DECLARE [VARIABLE] <
жергілікті ауысым атауы > { 
<
деректер түрі>
 
| <
домен атауы>
 
| TYPE OF <
домен атауы>
 
}
 
Бір мәлімдемеде тек бір жергілікті айнымалы мәнді жариялай алады. 
Іске  қосу  және  сақтау  процедурасында  әрбір  айнымалы  үшін  жеке 
DECLARE VARIABLE операторын пайдаланып, жергілікті айнымалы 
мәндердің  ерікті  санын  жариялай  алады.  Жергілікті  айнымалы  атау 
жергілікті  бағдарлама  нысанында  сақталатын  іс  рәсімінің  кіріс  және 
шығыс  параметрлерінің  жергілікті  айнымалы  атауларының  арасында 
бірегей  болуы  керек.  Деректер  түрі  SQL  түрінде  пайдаланылатын 
деректердің  кез  келген  түрі  болуы  мүмкін.  Деректер  түрінің  орнына 
бұрын құрылған доменнің атауын көрсетуге болады.
 
12.5.2. 
Тиггерлермен жұмыс
 
Ұшыру  мета-деректерді  дерекқорында  сақталады  және  сервер 
жағында орындалатын бағдарлама. Триггерге тікелей кіру мүмкін емес. 
Бір  нақты  кестеге  (көрініске)  қатысты  бір  немесе  бірнеше  оқиғалар 
немесе  дерекқор  оқиғаларының  бірі  болғанда,  ол  автоматты  түрде 
шақырылады. Кесте оқиғасы пайда болған кезде іске қосылатын кесте 
немесе  көрініс,  сол  кесте  немесе  көрініс  үшін  бір  немесе  бірнеше 
оқиғалар (деректерді қосу, өзгерту немесе жою) және осындай оқиғаның 
дәл  бір  кезеңі  (оқиғадан  бұрын  немесе  кейін)  байланысты  іске 
қосылады. Триггер транзакция контекстінде тиісті оқиғаға себеп болған 
бағдарлама  аясында  орындалады.  Ерекшелік  дерекқор  оқиғаларына 
жауап  беретін  триггерлер  болып  табылады.  Кейбіреулер  үшін  әдепкі 
транзакция басталады. 
Кестеге  арналған  «оқиға  фазасы»  қатынасының  алты  нұсқасы  бар 
(өкілдік):
 
1) 
Жаңа жолды қосқанға дейін (BEFORE INSERT);
 
2) 
Жаңа жолды қосқаннан соң (AFTER INSERT);
 
3) 
Жолды өзгерткенге дейін (BEFORE UPDATE);
 
4) 
Жолды өзгерткен соң (AFTER UPDATE);
 
5) 
Жолды өшіруге дейін (BEFORE DELETE);
 
6) 
Жолды өшірген соң (AFTER DELETE).
 
274
 


Дерекқор  оқиғаларына  байланысты  триггер  келесі  оқиғаларда 
шақырылуы мүмкін:
 
1) 
дерекқорға  (CONNECT)  қосылса,  триггер  орындалмас  бұрын, 
әдепкі бойынша операция автоматты түрде басталады; 
2) 
дерекқордан  (DISCONNECT)  ажыратылса,  триггер  орындалмас 
бұрын әдепкі транзакция басталады; 
3) 
транзакция  басталған  кезде  (TRANSACTION START), триггер 
осы мәміленің контексінде орындалады; 
4) 
мәміле расталған кезде (TRANSACTION COMMIT), триггер осы 
мәміленің контексінде орындалады; 
5) 
мәміле  бұзылған  кезде  (TRANSACTION ROLLBACK), триггер 
операция мәмілесі бойынша орындалады.
 
Бір кесте (көрініс) үшін, бір фаза және бір оқиға үшін, сондай-ақ бір 
фаза  және  бірнеше  оқиғалар  үшін  автоматты  түрде  шақырылатын 
триггерлер жасауыңызға болады. 
Егер бір кестеге (көрініске), бір оқиғаның және бір фазаның бірнеше 
триггерлері  бар  болса,  оларды  орындау  тізбегін  көрсете  аласыз,  осы 
тізбектегі триггер позициясын көрсете аласыз. 
Триггер  жасау  үшін,  синтаксисі  төменде  көрсетілген  CREATE 
TRIGGER 
операторын пайдаланыңыз:
 
CREATE TRIGGER < 
триггер атауы>
 
[ACTIVE | INACTIVE}
 
{ ON <
деректер қорының әрекеті>
 
| FOR {<
кесте атауы> | <көрініс атауы>}
 
{BEFORE | AFTER}
 
<
кесте әрекеті (көрініс)>
 
[OR <
кесте әрекеті (көрініс)>] . . .
 
| {BEFORE | AFTER}
 

кесте әрекеті (көрініс)>
 
[OR < 
кесте әрекеті (көрініс)>] . . .
 
ON {<
кесте атауы> | <көрініс атауы>}
 
}
 
[POSITION <
бүтін>]
 
AS <
триггер ағзасы>;
 

кесте әрекеті (көрініс)> ::=
 
{INSERT | UPDATE | DELETE}
 
<
деректер қорының әрекеті> : : =
 
{ CONNECT | 
DISCONNECT | 
TRANSACTION START
 
275
 


| TRANSACTION COMMIT | TRANSACTION 
ROLLBACK }
 
Триггер  белсенді  (ACTIVE)  немесе  белсенді  емес  (IN-ACTIVE) 
болуы  мүмкін.  Егер  триггер  белсенді  (әдепкі  мән)  болса,  ол  кестенің 
немесе  дерекқордың  сәйкес  оқиғасы  (лері)  болғанда  автоматты  түрде 
шақырылады. Триггер белсенді емес болса, триггер пайда болмайды. 
Триггердің дене құрылымы:
 
[<
жергілікті үздіксіз хабарламасы>]
 
BEGIN
 
<
оператор>
 
[<
оператор> ... ]
 
END
 
Триггері  органға  жергілікті  айнымалылар  сипаттамасы  кейін  ирек 
жақша Қоса беріліп отырған есептілігіне BEGIN және END блок болуы 
тиіс. 
Триггерлер  үшін  OLD  және  NEW  нақты  контекстік  айнымалылар 
бар. Осы кілт сөздердің неғұрлым дұрыс атауы - баған атауы префикс. 
триггерлер және өзгерту (Баған атауының алдында жаңа және нүктесін 
орналасқан) кейін (осы кілт сөз ескі және нүкте Баған атауының алдында 
қойылады үшін) клиент оны өзгерту үшін кесте кез келген бағанының 
(
қарау) мәнін кіре аласыз. 
Триггерлер барлық түрлері үшін айнымалы контекстен OLD (баған 
префикс) айнымалы тек оқу болып табылады. Бұл қарамастан фазалық 
оқиғалардың,  деректерді  қосу  кезінде  туындаған  триггерлер  қол 
жетімді. 
(
Кейін) фаза оқиғалар үшін триггерлер жаңа контекст айнымалылар, 
сондай-ақ айнымалы тек оқу болып табылады. Деректерді жою оқиғасы 
үшін триггерлерде қол жетімді емес. 
OLD 
мәні. Бағанның атауы - мүмкін болатын өзгерістерді жасамас 
бұрын жасалған бағанның күйіне сілтеме жасауға мүмкіндік береді. 
Мән NEW. Бағанның атауы - мүмкін өзгерістерді жасағаннан кейін 
бағанның жағдайына сілтеме жасауға мүмкіндік береді.
 
Мысалы:
 
CREATE TRIGGER BU_TOVARY FOR 
TOVARY ACTIVE
 
BEFORE UPDATE AS
 
276
 


жүктеу 2,79 Kb.

Достарыңызбен бөлісу:
1   ...   85   86   87   88   89   90   91   92   ...   101




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау