ПостгреСКЛ

Како поставити ПостгреСКЛ примарни кључ са аутоматским повећањем?

Како поставити ПостгреСКЛ примарни кључ са аутоматским повећањем?
Могу бити случајеви у којима градите и одржавате табеле у ПостгреСКЛ-у када желите одређене вредности за колону која се генерише на захтев. Ово би нарочито важило за ступце „ид“ који делују као примарни кључ табеле. Срећом, псеудо-тип СЕРИАЛ омогућава да се прилагоде целобројне серије са аутоматским повећањем. Серија је врста објекта базе података у ПостгреСКЛ-у која производи низ индекса или целих бројева. ПостгреСКЛ секвенца ствара низ различитих целих бројева, што га чини погодним за употребу као примарни кључ приликом генерисања нове табеле. Демонстрираћемо вам које су аутоматске инкременте у ПостгреСКЛ-у и користићемо псеудо-тип СЕРИАЛ у овом водичу.

Синтакса:

Општа синтакса за креирање примарног кључа са аутоматским повећањем је следећа:

>> ЦРЕАТЕ ТАБЛЕ табле_наме (ид СЕРИАЛ);

Погледајмо сада детаљније декларацију ЦРЕАТЕ ТАБЛЕ:

Да бисте добили концепт аутоматског повећања, уверите се да је ПостгреСКЛ монтиран и конфигурисан на вашем систему пре него што наставите са илустрацијама у овом водичу. Отворите љуску командне линије ПостгреСКЛ са радне површине. Додајте име сервера на којем желите да радите, у супротном га оставите подразумеваним. Напишите име базе података које лежи на вашем серверу на којем желите да радите. Ако не желите да га промените, оставите га као подразумевани. Користићемо „тест“ базу података, зато смо је и додали. Такође можете радити на подразумеваном порту 5432, али можете га и променити. На крају, морате навести корисничко име за базу података коју сте одабрали. Оставите га као подразумевано ако не желите да га промените. Унесите лозинку за изабрано корисничко име и притисните „Ентер“ са тастатуре да бисте започели употребу командне љуске.

Коришћење СЕРИАЛ кључне речи као типа података:

Када креирамо табелу, обично не додајемо кључну реч СЕРИЈАЛНО у примарно поље колоне. То значи да морамо додати вредности у колону примарног кључа док користимо израз ИНСЕРТ. Али када приликом израде табеле користимо кључну реч СЕРИАЛ у свом упиту, не би требало да додајемо вредности примарних ступаца док убацујемо вредности. Бацимо поглед на то.

Пример 01:

Направите табелу „Тест“ са два ступца „ид“ и „наме“. Колона „ид“ је дефинисана као колона примарног кључа јер је њен тип података СЕРИЈАЛНИ. С друге стране, колона „име“ је дефинисана као тип података ТЕКСТ НОТ НУЛЛ. Покушајте са наредбом испод да направите табелу и табела ће бити ефикасно креирана као што се види на доњој слици.

>> ЦРЕАТЕ ТАБЛЕ Тест (ид СЕРИЈСКИ ПРИМАРНИ КЉУЧ, назив ТЕКСТ НОТ НУЛЛ);

Убацимо неке вредности у колону „име“ новостворене табеле „ТЕСТ“. Нећемо додати никакву вредност у колону „ид“. Можете видети да су вредности успешно уметнуте помоћу наредбе ИНСЕРТ како је наведено у наставку.

>> ИНСЕРТ ИНТО Тест (наме) ВАЛУЕС ('Акса'), ('Римсха'), ('Кхан');

Време је да проверимо записе табеле „Тест“. Испробајте доњу инструкцију СЕЛЕЦТ у командној љусци.

>> СЕЛЕЦТ * ФРОМ Тест;

Из доњег излаза можете приметити да је у колони „ид“ аутоматски унете неке вредности, иако нисмо додали никакве вредности из наредбе ИНСЕРТ због типа података СЕРИАЛ који смо навели за ступац „ид“. Тако тип података СЕРИАЛ ради сам по себи.

Пример 02:

Други начин за проверу вредности колоне типа СЕРИАЛ је коришћењем кључне речи РЕТУРНИНГ у наредби ИНСЕРТ. Доленаведена декларација ствара нови ред у табели „Тест“ и даје вредност за поље „ид“:

>> ИНСЕРТ ИНТО Тест (наме) ВРИЈЕДНОСТИ ('Хассам') ПОВРАТАК ид;

Провером записа табеле „Тест“ помоћу упита СЕЛЕЦТ добили смо доњи излаз као што је приказано на слици. Пети запис је ефикасно додан у табелу.

>> СЕЛЕЦТ * ФРОМ Тест;

Пример 03:

Алтернативна верзија горњег упита за уметање користи кључну реч ДЕФАУЛТ. У наредби ИНСЕРТ користит ћемо назив ступца „ид“, а у одјељку ВРИЈЕДНОСТИ дат ћемо му кључну ријеч ДЕФАУЛТ као вриједност. Упит у наставку ће радити исто и након извршења.

>> ИНСЕРТ ИНТО Тест (ид, наме) ВАЛУЕС (ДЕФАУЛТ, 'Раза');

Проверимо табелу поново користећи СЕЛЕЦТ упит на следећи начин:

>> СЕЛЕЦТ * ФРОМ Тест;

Из доњег резултата можете видети да је додата нова вредност док је колона „ид“ подразумевано увећана.

Пример 04:

Редни број поља ступца СЕРИАЛ налази се у табели у ПостгреСКЛ-у. За постизање овога користи се метода пг_гет_сериал_секуенце (). Морамо да користимо функцију цуррвал () заједно са методом пг_гет_сериал_секуенце (). У овом упиту даћемо име табеле и његово СЕРИЈАЛНО име колоне у параметрима функције пг_гет_сериал_секуенце (). Као што видите, навели смо табелу „Тест“ и колону „ид“. Овај метод се користи у доњем примеру упита:

>> ОДАБЕРИТЕ цуррвал (пг_гет_сериал_секуенце ('Тест', 'ид'));

Вреди напоменути да нам наша функција цуррвал () помаже у издвајању најновије вредности секвенце, која је „5“. Слика испод илуструје како би перформанс могао да изгледа.

Закључак:

У овом водичу водича показали смо како се користи псеудо-тип СЕРИАЛ за аутоматско повећање у ПостгреСКЛ-у. Користећи серију у ПостгреСКЛ-у, једноставно је направити скуп бројева који се аутоматски повећавају. Надамо се да ћете моћи да примените поље СЕРИЈАЛНО на описе табеле користећи наше илустрације као референцу.

Водич за ОпенТТД
ОпенТТД је једна од најпопуларнијих игара за пословну симулацију. У овој игри морате створити диван посао превоза. Међутим, почет ћете у почетку око 1...
СуперТукКарт за Линук
СуперТукКарт је сјајан наслов дизајниран да вам пружи Марио Карт искуство бесплатно на вашем Линук систему. Прилично је изазовно и забавно играти, диз...
Водич за битку за Веснотх
Битка за Веснотх је једна од најпопуларнијих стратешких игара отвореног кода које тренутно можете играти. Не само да је ова игра у развоју већ јако ду...