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



Pdf көрінісі
бет219/246
Дата27.09.2023
өлшемі4.61 Mb.
#478892
түріОқулық
1   ...   215   216   217   218   219   220   221   222   ...   246
Г. Н. Федорова, Деректер қорын әзірлеу және басқару. Оқулық. Мәскеу «Академия» баспа орталығы, 2015ж.

285
 


Дегенмен, бҧл сандардың бірізділігін алуға мҥмкіндік бермейді). 
Генератордың мәні оператормен белгіленеді: 
SET генераторы <генератордың аты> TO <басталу мәні> 
Бірегей мәнді алу ҥшін, функцияны пайдаланыңыз
GEN_ID (Генератор атауы, қадам)
Генератордың бастапқы мәнін қалпына келтіруге немесе әртҥрлі 
қоңырауларға арналған қадамды GEN_ID функциясына ӛзгерту 
ҧсынылмайды. Мҧндай жағдайларда генератор бірегей емес мәнді 
шығара алады және соның салдарынан, дерекқор кестесінде жаңа 
жазбаны сақтауға тырысқанда, ерекше жағдай жасалады. 
Генератор SQL операторы арқылы жойылуы мҥмкінDROP 
GENERATOR <генератор атауы>
Генератор барлық генераторларға сілтеме жасаған кезде сақталатын 
процедуралар мен дерекқордан жойылғаннан кейін ғана жойылуы 
керек. 
Тӛмендегі мысалда жаңа жолды қосқанда генератордың 
қолданылуы суреттеледі. Дерекқорда САТЫЛЫМ бағанындағы 
бағанның генераторы анықталсын:
CREATE GENERATOR Ген_нӛмір;
SET GENERATOR Ген_нӛмір TO 0;
Генераторға тікелей INSERT операторынан сілтеме келесідей 
жазылуы мҥмкін:
INSERT INTO PRODAJA
(Нӛмір, кҥні, Саны, Тауар, Тҧтынушы)
VALUES (
GEN_ID (Ген_номер, 1) ,
'01.0 5.2 013"
7
,
100, «Cахар»,
«ООО Ромашка»)
Триггердің кӛмегі арқылы негізгі баған дерекқордағы жаңа жолды 
жазудан бҧрын шақырылған бірегей мән беріледі деп тҥсінуге болады:
CREATE TRIGGER BI_PRODAJA FOR САТЫЛЫМ ACTIVE
BEFORE INSERT
286
 


AS
BEGIN
NEW. Нӛмір = GEN_ID (Ген_нӛмір, 1)
END
Бірегей мәндерді жасау ҥшін сақталатын процедураны пайдалана 
аласыз:
CREATE PROCEDURE GEN_PROC RETURNS (N 
INTEGER)
AS
BEGIN
N= GEN_ID (Ген_Нӛмір, 1)
SUSPEND
END
Генераторлардың маңызды ерекшелігі - олармен жҧмыс істеу кез-
келген мәміленің контекстінен тыс орындалады. Бҧл дегеніміз, сіз бір 
мезгілде әртҥрлі бәсекелес транзакциялардың бір генераторына қол 
жеткізгенде ешқашан қҧлыптау қақтығысы болмайды және әрбір 
параллель процесс бірегей жаңа сандық мәнге ие болады. Мән 
генераторға қол жеткізу уақытына байланысты.
12.8.


Достарыңызбен бөлісу:
1   ...   215   216   217   218   219   220   221   222   ...   246




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

    Басты бет