Шта ради СКЛ-Делете изјава?

9. 3. 2020.

Када радите са базама података, често је потребно избрисати један или више редова података. За реализацију ове акције постоји посебан оператор у СКЛ - Делете.

Избриши синтаксу

Једна од често коришћених операција при раду са базама података је оператер за брисање одређеног броја редова. . Да би се уклонили додатни записи из табеле, довољно је користити специјалну функцију СКЛ-Д елете .

скл делете

Синтакса ове изјаве је иста као и уметање и модификовање записа. Кључна реч ДЕЛЕТЕ је праћена конструкцијом која показује табелу у којој ће се извршити брисање - ФРОМ и име табеле. Након тога долази опциони део структуре синтаксе оператора, који може да садржи индикације које јединствено дефинишу једну или више линија.

ДЕЛЕТЕ ФРОМ <име табеле> [ВХЕРЕ <предицате>].

Могућа реченица почиње кључном ријечи "ВХЕРЕ", а слиједи скуп предиката. Могуће је назначити и експлицитну вриједност одређеног поља, означавајући га као једну или пописивање, или одређени распон или стање. У предикату, такође можете користити угњеждене услове, на пример, да избришете само оне записе који су садржани или недостају у другој табели.

Пример брисања неколико или свих уноса

Да бисте избрисали унос, морате да користите опциони део структуре функције Делете. МС СКЛ подржава само једну спецификацију података помоћу кључне ријечи ВХЕРЕ. Стога, параметре претраге низа за претраживање треба навести само након њега.

Ако је потребно избрисати табелу, није потребно користити додатни дио структуре, довољно је једноставно навести име таблице у горњој СКЛ синтакси. Пример брисања свих уноса је следећи:

ДЕЛЕТЕ ФРОМ "табле_1".

Овај упит ће очистити табелу са именом "табле_1". Важно је напоменути да се у овом случају неће десити само уклањање табеле - за то је потребно користити и друга средства СКЛ језика.

скл делете екампле

Ако требате избрисати само оне записе који задовољавају одређени захтјев, морате додати израз увјет. На пример, у следећем примеру, СКЛ Делете функција ће избрисати све редове у табели Персоннел који имају вредност Иван у пољу Наме:

ДЕЛЕТЕ ФРОМ "Стафф" ВХЕРЕ "Име" = "Иван".

Ако је потребно, можете да наведете више услова у једном упиту, комбинујући их са логичким "АНД" и "ОР". У следећем примеру, сви записи у којима ће се избрисати име запосленог "Иван" или "Олег":

ДЕЛЕТЕ ФРОМ "Персоннел" ВХЕРЕ "Наме" = "Иван" ИЛИ "Наме" = "Олег".

Пример брисања једног записа

Међутим, приликом брисања није увек потребно избрисати све редове који задовољавају услов. Да бисте постигли брисање података само одређеног броја редова, морате додати кључну ријеч ЛИМИТ структури СКЛ функције брисања, а затим специфицирати експлицитну вриједност редова које желите избрисати.

избришите мс слк

У сљедећем примјеру, само двије евиденције запосленика под именом Иван ће бити избрисане из табеле Персоннел:

ДЕЛЕТЕ ФРОМ "Персоннел" ВХЕРЕ "Назив" = "Иван" ЛИМИТ 2.

Треба напоменути да приликом обављања операције брисања редова треба обратити пажњу на исправност писања упита. У случају грешке у синтакси или услову, може доћи до прекомерног брисања редова и биће готово немогуће аутоматски их вратити у табелу.