Водич за СКЛ Сервер - све што вам треба за савладавање Трансацт-СКЛ-а



Овај чланак о водичу за СКЛ Сервер је свеобухватан водич о различитим концептима, синтакси и наредбама који се користе у МС СКЛ Серверу.

На данашњем тржишту, где се свакодневно генерише огромна количина података, веома је важно разумети како поступати са њима. СКЛ Сервер је интегрисано окружење које је развио Мицрософт за руковање подацима.У овом чланку о водичу за СКЛ Сервер научићете све радње и наредбе које су вам потребне за истраживање база података.

Ради вашег бољег разумевања, блог сам поделио у следеће категорије:





Команде Опис

Наредбе језика дефиниције података (ДДЛ)

Овај скуп наредби користи се за дефинисање базе података.

Наредбе језика за манипулисање подацима (ДМЛ)



Наредбе за манипулацију користе се за манипулацију подацима присутним у бази података.

Наредбе језика за контролу података (ДЦЛ)

Овај скуп наредби бави се дозволама, правима и другим контролама система база података.

Наредбе језика за контролу трансакција (ТЦЛ)

Ове наредбе се користе за баве се трансакцијом базе података.

Поред наредби, у овом чланку су обрађене следеће теме:



МС СКЛ Сервер - Водич за СКЛ Сервер - Едурека

  1. Шта је СКЛ Сервер?
  2. Инсталирајте СКЛ Сервер
  3. Повежите се са СКЛ сервером помоћу ССМС-а
  4. Приступите машини базе података
  5. Архитектура СКЛ сервера
  6. Коментари у СКЛ-у
  7. Типови података СКЛ сервера
  8. Кључеви у бази података
  9. Ограничења у бази података
  10. Оператори
  11. Збирне функције
  12. Кориснички дефинисане функције
  13. Угнездени упити
  14. Придружује се
  15. Лоопс
  16. Похрањене процедуре
  17. Изузетак руковање

***БЕЛЕШКА*** У овом водичу за СКЛ Сервер, доњу базу података ћу размотрити каопример, да вам покажем како учити и писатикоманде.

СтудентИД Име студента Име родитеља Број телефона Адреса Град Цоунтри
једанја мрзимАкрити мехра9955339966Блок пута бригаде 9ХидерабадИндија
2МанасаСхоуриа Схарма9234568762Маио Роад 15КолкатаИндија
3АнаиСоумиа Мисхра9876914261Маратхалли Хоусе Но 101БенгалуруИндија
4ПреетиРохан Синха9765432234Куеенс Роад 40ДелхиИндија
5СханаиаАбхинаи агарвал9878969068Улица Оберои 21МумбаиИндија

Пре него што започнемо разумевање различитих наредби које се користе у СКЛ серверу, схватимо шта је СКЛ Сервер, његова архитектура и како га инсталирати.

Шта је СКЛ Сервер?

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

Кључне компоненте СКЛ Сервера су следеће:

  • Датабасе Енгине: Ова компонента обрађује складиштење, брзу обраду трансакција и осигуравање података.
  • СКЛ Сервер - Ова услуга се користи за покретање, заустављање, паузирање и настављање инстанце МС СКЛ Сервер.
  • СКЛ Сервер агент - Услуга Сервер Агент игра улогу планера задатака и покреће га било који догађај или према захтеву.
  • Прегледник СКЛ Сервер - Ова услуга се користи за повезивање долазног захтева са жељеном инстанцом СКЛ Сервера.
  • Претраживање целокупног текста СКЛ Сервер - Користи се за пуштање корисника да изводи пун текстуалне упите према подацима о знаковима у СКЛ табелама.
  • СКЛ Сервер ВСС Вритер - Омогућава сигурносне копије и обнављање датотека података када се СКЛ Сервер не покреће.
  • СКЛ Сервер Аналисис Сервицес (ССАС) - Ова услуга се користи за анализу података, рударење података и могућности. СКЛ Сервер је такође интегрисан са и Р. за напредну аналитику података.
  • СКЛ Сервер Репортинг Сервицес (ССРС) - Као што и само име говори, ова услуга се користи за пружање функција и могућности доношења одлука, укључујући интеграцију са .
  • СКЛ Сервер Интегратион Сервицес (ССИС) - Ова услуга се користи за извођење ЕТЛ операција за различите врсте података из више извора података.

Сада, када знате шта је МС СКЛ Сервер, померимо се у овом чланку о водичу за СКЛ Сервер и разумемо како се инсталира и поставља СКЛ Сервер.

Инсталирајте СКЛ Сервер

Следите кораке у наставку да бисте инсталирали СКЛ Сервер:

Корак 1: Идите на званичну страницу Преузимање Мицрософт СКЛ Сервера , где ћете наћи опцију да инсталирате СКЛ Сервер локално или у облаку.

Корак 2: Сада се померите надоле и видећете две опције: Издање за програмере и предузећа . Овде ћу преузети Издање за програмере . Да бисте преузели, једноставно кликните на Преузми сада опција. Погледајте доле.

Корак 3: Када се апликација преузме, двапут кликните на датотеку и видећете следећи прозор.

Корак 4: Сада можете одабрати било коју од 3 опције за подешавање СКЛ сервера. Овде ћу само одабрати Основна опција . При одабиру опције врсте инсталације, следећи екран би био прихватање уговора о лиценци. Да бисте то урадили, кликните на Прихвати у следећем прозору.

Корак 5: Даље, морате да наведете локацију инсталације СКЛ Сервера. Затим морате кликнути на Инсталл.

Једном када кликнете на Инсталирај , видећете да се потребни пакети преузимају. Сада, након завршетка инсталације, видећете следећи екран:

Овде можете ићи напред и кликнути на Цоннецт Нов или можете прилагодити инсталацију. За ваше боље разумевање, ићи ћу напред и бирати Прилагоди.

Корак 6: Једном када кликнете на Прилагоди у горњем прозору видећете следећег чаробњака како се отвара. у следећем прозору кликните на Следећи.

Корак 7: Након што се правила инсталирају аутоматски, кликните на Следећи . Погледајте доле.

Корак 8: Даље, морате одабрати врсту инсталације. Дакле, одаберите Извршите а нова инсталација СКЛ Сервера 2017 и затим кликните на Следећи.

Корак 9: У чаробњаку који се отвори одаберите издање: Програмер. Затим кликните на Следећи . Погледајте доле.

стапање стабло одлучивања сортирање 4 елемента

Корак 10: Сада прочитајте и прихватите уговоре о лиценци означавањем радио дугмета, а затим кликните на Следећи . Погледајте доле.

Корак 11: У доњем чаробњаку можете одабрати функције које желите да инсталирате. Такође, можете одабрати основни директоријум инстанце, а затим кликнути на Следећи . Овде ћу изабрати Услуге Датабасе Енгине .

Корак 12: Даље морате именовати инстанцу и аутоматски ће се створити ИД инстанце. Овде ћу пример назвати „едурека“. Затим кликните на Следећи.

Корак 13: У чаробњаку за конфигурацију сервера кликните на Следећи .

Корак 14: Сада морате омогућити начине аутентификације. Ево, видећете Режим аутентификације за Виндовс и Мешовити режим . Изабраћу комбиновани режим. Затим, спомените лозинку и тада ћу додати тренутног корисника као Админ избором Додај тренутног корисника опција.

Корак 15: Затим одаберите путању до датотеке конфигурације и кликните на Инсталирај .

По завршетку инсталације, видећете следећи екран:

Повежите се са СКЛ сервером помоћу ССМС-а

Након инсталирања СКЛ сервера, следећи корак је повезивање СКЛ сервера са СКЛ Сервер Манагемент Студиоом. Да бисте то урадили, следите кораке у наставку:

Корак 1: Вратите се у следећи прозор и кликните на инсталирајте ССМС опција.

Корак 2: Једном када кликнете на ту опцију, бићете преусмерени на следећу страницу , где морате да изаберете Преузмите ССМС.

Корак 3: Након што је поставка преузета, двапут кликните на апликацију и видећете да се отвара следећи чаробњак.

Корак 4: Кликните на Инсталирај опцију , у горњем прозору и видећете да ће та инсталација започети.

Корак 5: По завршетку инсталације добићете дијалошки оквир као што је приказано доле.

Након што инсталирате ССМС, следећи корак је приступ Датабасе Енгине .

Приступ машини базе података

Када отворите Студио за управљање СКЛ серверима од мени Старт , отвориће се прозор сличан прозору приказаном на доњој слици.

Овде спомените Име сервера, Режим аутентификације и кликните на Повежите се.

Након што кликнете на Повежите се , видећете следећи екран.

Па људи, тако инсталирате и подесите СКЛ Сервер. Сада, крећући се напред у овом упутству за СКЛ Сервер, хајде да разумемо различите компоненте архитектуре СКЛ Сервера.

Архитектура СКЛ сервера

Архитектура СКЛ Сервера је следећа:

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

Сада, када знате како да подесите и инсталирате СКЛ Сервер и његове различите компоненте, започнимо са писањем Сервер. Али, пре тога, дозволите ми да објасним како писати коментаре у СКЛ серверу.

Коментари у СКЛ серверу

Постоје два начина на која можете коментарисати у СКЛ-у, тј. Или користите с коментари у ингле-лине или м улти-лине коментари .

Једноредни коментари

Једноредни коментари почињу са две цртице (-). Стога ће текст који се помиње иза (-), до краја појединачног ретка, игнорисати компајлер.

Пример:

--Пример једноредних коментара

Вишередни коментари

Коментари у више редова почињу са / * и завршавају се са * / . Отуда и поменути текст између / * и * / компајлер ће игнорисати.

Пример:

/ * Пример за вишередне коментаре * /

Сада у овом чланку о водичу за СКЛ Сервер, започнимо са првим скупом наредби, тј. Наредбама језика за дефинисање података.

Команде језика за дефинисање података

Овај одељак чланка ће вам дати идеју о наредбама помоћу којих можете дефинисати своју базу података. Наредбе су следеће:

КРЕИРАЈ

Ова изјава се користи за креирање табеле, базе података или погледа.

Изјава „СТВАРИ БАЗУ ПОДАТАКА“

Ова изјава се користи за креирање базе података.

Синтакса

СТВАРИ БАЗУ ПОДАТАКАНазив базе података

Пример

СТВАРАЊЕ БАЗЕ БАЗА Студенти

СТВАРИ ТАБЕЛУ ' Изјава

Као што и само име говори, ова изјава се користи за стварање табеле.

Синтакса

СТВАРИ ТАБЕЛУ Име табеле (тип података колоне 1, тип података колоне 2, тип података колоне 3, .... тип података колоне Н)

Пример

СТВОРИ ТАБЕЛУ СтудентИнфо (СтудентИД инт, СтудентНаме варцхар (8000), ПарентНаме варцхар (8000), ПхонеНумбер инт, АддрессофСтудент варцхар (8000), Цити варцхар (8000), Цоунтри варцхар (8000))

КАП

Ова изјава се користи за испуштање постојеће табеле, базе података или погледа.

Изјава „ДРОП ДАТАБАСЕ“

Ова изјава се користи за испуштање постојеће базе података. Комплетне информације присутне у бази података изгубиће се чим извршите наредбу у наставку.

Синтакса

ДРОП БАЗЕ БАЗЕ ПОДАТАКАНаме

Пример

ДРОП БАЗА БАЗА Студенти

Изјава „ДРОП ТАБЛЕ“

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

Синтакса

ТАПЕЛА ЗА ПАДАЊЕ ТаблеНаме

Пример

ТАПЕЛА ЗА ДРОП СтудентИнфо

ДОБА

Команда АЛТЕР се користи за додавање, брисање или модификовање колона или ограничења у постојећој табели.

АЛТЕР ТАБЛЕ ' Изјава

Ова изјава се користи за додавање, брисање, модификовање колона у постојећој табели.

Изјава „АЛТЕР ТАБЛЕ“ са ДОДАЈ / ПУСТИ КОЛОНОМ

Израз АЛТЕР ТАБЛЕ користи се са командом АДД / ДРОП Цолумн за додавање и брисање колоне.

Синтакса

АЛТЕР ТАБЛЕ ТаблеНаме АДД ЦолумнНаме Тип података АЛТЕР ТАБЛЕ ТаблеНаме ДРОП ЦОЛУМН ЦолумнНаме

Пример

--ДОДАТИ Групу Крвне Групе: АЛТЕР ТАБЛЕ СтудентИнфо ДОДАТИ Крвну Групу варцхар (8000) --ДРОП Ступац Крвну Групу: АЛТЕР ТАБЛЕ СтудентИнфо ДРОП КОЛОНУ Крвну Групу

Изјава „АЛТЕР ТАБЛЕ“ са АЛТЕР ЦОЛУМН

Израз АЛТЕР ТАБЛЕ може се користити са колоном АЛТЕР за промену типа података постојећег ступца у табели.

Синтакса

АЛТЕР ТАБЛЕ ТаблеНаме АЛТЕР ЦОЛУМН ЦолумнНаме Тип података

Пример

- Додајте колону ДОБ и промените тип података са датума на датум и време. АЛТЕР ТАБЛЕ СтудентИнфо ДОДАТИ датум рођења АЛТЕР ТАБЛЕ СтудентИнфо АЛТЕР ЦОЛУМН ДОБ датум и време

ОДРЕЗИ

Ова СКЛ наредба се користи за брисање информација присутних у табели, али не брише саму табелу. Дакле, ако желите да избришете информације присутне у табели, а не да избришете саму табелу, морате да користите команду ТРУНЦАТЕ. Иначе, користите наредбу ДРОП.

Синтакса

ИМЕНОВАЊЕ ТАБЕЛЕ ТаблеНаме

Пример

ТРАЈНА ТАБЕЛА СтудентИнфо

ПРЕИМЕНУЈ

Ова изјава се користи за преименовање једне или више табела.

Синтакса

сп_ренаме 'ОлдТаблеНаме', 'НевТаблеНаме'

Пример

сп_ренаме 'СтудентИнфо', 'Инфостудентс'

Настављајући даље у овом чланку о водичу за СКЛ Сервер, дајте нам разумевање различитих типова података које подржава СКЛ Сервер.

Типови података СКЛ сервера

Категорија података типа података Назив типа података Опис Опсег / синтакса
Тачне бројке нумеричкиКористи се за чување нумеричких вредности и има фиксне бројеве прецизности и скале- 10 ^ 38 +1 до 10 ^ 38 - 1.
тиниинтКористи се за чување целобројних вредности0 до 255
смаллинтКористи се за чување целобројних вредности-2 ^ 15 (-32.768) до 2 ^ 15-1 (32.767)
бигинтКористи се за чување целобројних вредности-2 ^ 63 (-9,223,372,036,854,775,808) до 2 ^ 63-1 (9,223,372,036,854,775,807)
интКористи се за чување целобројних вредности-2 ^ 31 (-2,147,483,648) до 2 ^ 31-1 (2,147,483,647)
малоПохрањује целобројни тип података чија вредност износи 0, 1 или НУЛЛ0, 1 или НУЛЛ
децималанКористи се за чување нумеричких вредности и има фиксне бројеве прецизности и скале- 10 ^ 38 +1 до 10 ^ 38 - 1.
смаллмонеиКористи се за чување новчаних средставаили вредности валута.- 214,748.3648 до 214,748.3647
новацКористи се за чување новчаних средставаили вредности валута.-922,337,203,685,477.5808 до 922,337,203,685,477.5807 (-922,337,203,685,477.58
на 922.337.203.685.477,58 за Информатицу.
Приближне бројке пловакКористи се за чување нумеричких података са покретном зарезом- 1,79Е + 308 до -2,23Е-308, 0 и 2,23Е-308 до 1,79Е + 308
правиКористи се за чување нумеричких података са покретном зарезом- 3,40Е + 38 до -1,18Е - 38, 0 и 1,18Е - 38 до 3,40Е + 38
Датум и време датумКористи се за дефинисање датума у ​​СКЛ серверу.Синтакса: датум
смаллдатетимеКористи се за дефинисање датума који се комбинује са доба дана у коме се време заснива на 24-сатном дану, са секундама увек нула (: 00) и без делимичних секунди.Синтакса: смаллдатетиме
Датум времеКористи се за дефинисање датума који се комбинује са доба дана са делимичним секундама на основу 24-часовног сата.Синтакса: датетиме
датетиме2 датетиме2 је као продужетак постојећег Датум време тип који има већу подразумевану фракциону прецизност, највећи распон датума.Синтакса: датетиме2
датетимеоффсетКористи се за дефинисање датума који се комбинује са временом у дану које има свесност временске зоне. Заснован је на сату од 24 сата.Синтакса: датетимеоффсет
времеКористи се за дефинисање доба дана.Синтакса: време
Низови знакова цхарКористи се за чување ликова фиксне величине.цхар[( н )] где вредност н варира од 1 - 8 000
варцхарКористи се за чување знакова променљиве дужине.варцхар [( н |. | макс)] где вредност н варира од 1-8000, а максимално дозвољено складиштење је 2 ГБ.
текстКористи се за чување вне-Уницоде подаци променљиве дужинеМаксимална дозвољена дужина низа - 2 ^ 31-1 (2,147,483,647)
Низови знакова Уницоде нцхарКористи се за чување ликова фиксне величине.нцхар[(н)] где вредност н варира од 1-4000
нварцхарКористи се за чување знакова променљиве дужине.варцхар [( н |. | макс)] где вредност н варира од 1-4000, а максимално дозвољено складиштење је 2 ГБ.
нтектКористи се за чување Уницоде података променљиве дужинеМаксимална дозвољена дужина низа - 2 ^ 30-1 (2,147,483,647)
Бинарне жице бинарниКористи се за чување бинарних типова података било фиксне дужинебинарни[( н )] где вредност н варира од 1 - 8 000
варбинариКористи се за чување бинарних типова података било фиксне дужиневарбинари[( н )] где н вале варира од 1-8000, а максимално дозвољено складиштење је 2 ^ 31-1 бајта.
сликаКористи се за чување бинарних података променљиве дужине0 - 2 ^ 31-1 (2.147.483.647) бајтова
Остале врсте података То је тип података за сачувану процедуру или променљиве ОУТПУТ параметри који садрже референцу на курсор.-
ровверсионКористи се за излагање аутоматски генерисаних јединствених бинарних бројева у бази података.-
хијерархијаКористи се за представљање положаја у хијерархији.-
Јединствени идентификаторЈе 16-бајтни ГУИД.Синтакса:Јединствени идентификатор
скл_вариантКористи се за чување вредности различитих типова података које подржава СКЛ СерверСинтакса: скл_вариант
кмлКористи се за чување КСМЛ типа података.

кмл ([САДРЖАЈ | ДОКУМЕНТ] кмл_сцхемацоллецтион)

Типови просторне геометријеКористи се за представљање података у еуклидском (равном) координатном систему.-
Типови просторне географијеКористи се за чување елипсоидних података (око земље), као што су ГПС координате географске ширине и дужине.-
стоКористи се за чување скупа резултата за накнадну обраду-

Даље, у овом чланку дајте нам разумевање различитих врста кључева и ограничења у бази података.

Различите врсте кључева у бази података

Следе различите врсте кључева који се користе у бази података:

  • Кључ кандидата - Кључ кандидата је скуп атрибута који могу јединствено да идентификују табелу. Табела може имати више од једног кључа кандидата, а од изабраних кључева кандидата један кључ је изабран као примарни кључ.
  • Супер Кеи - Скуп атрибута може јединствено идентификовати корпу. Дакле, кључеви кандидата, јединствени кључеви и примарни кључеви су супер кључеви, али обрнуто није тачно.
  • Примарни кључ - Примарни кључеви користе се за јединствену идентификацију сваке корпе.
  • Алтернативни кључ - Алтернативни кључеви су они кључеви кандидати који нису изабрани као примарни кључ.
  • Јединствени кључ- Јединствени кључеви су слични примарном кључу, али дозвољавају једну НУЛЛ вредност у колони.
  • Страни кључ - Атрибут који може узети вредности присутне само као вредности неког другог атрибута је страни кључ на атрибут на који се односи.
  • Композитни кључ- Састављени тастери су комбинација две или више колона које јединствено идентификују сваку корпицу.

Ограничења која се користе у бази података

Ограничења се користе у бази података за одређивање правила за податке ускладиштене у табели. Различите врсте ограничења у СКЛ-у су следећи:

НОТ НУЛЛ

Ограничење НОТ НУЛЛ осигурава да ступац не може имати НУЛЛ вриједност.

Пример

СТВОРИ ТАБЕЛУ СтудентИнфо (СтудентИД инт НОТ НУЛЛ, СтудентНаме варцхар (8000) НОТ НУЛЛ, ПарентНаме варцхар (8000), ПхонеНумбер инт, АддрессофСтудент варцхар (8000) НОТ НУЛЛ, Цити варцхар (8000), Цоунтри варцхар (8000)) - НОТ НУЛЛ на АЛТЕР ТАБЛЕ АЛТЕР ТАБЛЕ СтудентиИнформације АЛТЕР ЦОЛУМН ПхонеНумбер инт НОТ НУЛЛ

ЈЕДИНСТВЕНО

Ово ограничење осигурава да су све вредности у колони јединствене.

Пример

--УНИКУЕ на Цреате Табле ЦРЕАТЕ ТАБЛЕ СтудентсИнфо (СтудентИД инт НОТ НУЛЛ УНИКУЕ, СтудентНаме варцхар (8000) НОТ НУЛЛ, ПарентНаме варцхар (8000), ПхонеНумбер инт, АддрессофСтудент варцхар (8000) НОТ НУЛЛ, Цити варцхар (8000), Цоунтри варцхар ( 8000)) - УНИКУЕ на више колона СТВАРАЊЕ ТАБЕЛЕ СтудентИнфо (СтудентИД инт НОТ НУЛЛ, СтудентНаме варцхар (8000) НОТ НУЛЛ, ПарентНаме варцхар (8000), ПхонеНумбер инт, АддрессофСтудент варцхар (8000) НОТ НУЛЛ, Цити варцхар (8000), Цоунтри варцхар (8000) ЦОНСТРАИНТ УЦ_Студент_Инфо УНИКУЕ (СтудентИД, ПхонеНумбер)) - УНИКУЕ на АЛТЕР ТАБЛЕ АЛТЕР ТАБЛЕ СтудентсИнфо АДД УНИКУЕ (СтудентИД) --Да одустане од УНИКУЕ цонстраинт АЛТЕР ТАБЛЕ СтудентсИнфо ДРОП ЦОНСТРАИНТ УЦ_фотудија

ПРОВЕРАВАТИ

Ограничење ЦХЕЦК осигурава да све вредности у колони задовољавају одређени услов.

Пример

--ПРОВЕРИ Ограничење на ЦРЕАТЕ ТАБЛЕ ЦРЕАТЕ ТАБЛЕ СтудентсИнфо (СтудентИД инт НОТ НУЛЛ, СтудентНаме варцхар (8000) НОТ НУЛЛ, ПарентНаме варцхар (8000), ПхонеНумбер инт, АддрессофСтудент варцхар (8000) НОТ НУЛЛ, Цити варцхар (8000), Цоунтри варцхар ( 8000) ЦХЕЦК (Цоунтри = 'Индиа')) - ЦХЕЦК Ограничење на више колона ЦРЕАТЕ ТАБЛЕ СтудентсИнфо (СтудентИД инт НОТ НУЛЛ, СтудентНаме варцхар8000) НОТ НУЛЛ, ПарентНаме варцхар (8000), ПхонеНумбер инт, АддрессофСтудент варцхар (8000) НОТ НУЛЛ, Цити варцхар (8000), Цоунтри варцхар (8000) ПРОВЕРИТЕ (Цоунтри = 'Индиа' АНД Цити = 'Хидерабад')) - ПРОВЕРИТЕ Ограничење на АЛТЕР ТАБЛЕ АЛТЕР ТАБЛЕ СтудентИнфо ДОДАЈ ПРОВЕРУ (Цоунтри = 'Индиа') --Да бисте дали име за ЦХЕЦК Цонстраинт АЛТЕР ТАБЛЕ СтудентсИнфо АДД ЦОНСТРАИНТ ЦхецкЦонстраинтНаме ЦХЕЦК (Цоунтри = 'Индиа') --Да испустите ЦХЕЦК Цонстраинт АЛТЕР ТАБЛЕ СтудентсИнфо ДРОП ЦОНСТРАИНТ ЦхецкЦонстраинтНаме

УОБИЧАЈЕНО

ДЕФАУЛТ ограничење састоји се од скупа заданих вредности за ступац када није наведена ниједна вредност.

Пример

--ДЕФАУЛТ Ограничење на ЦРЕАТЕ ТАБЛЕ ЦРЕАТЕ ТАБЛЕ СтудентсИнфо (СтудентИД инт, СтудентНаме варцхар (8000) НОТ НУЛЛ, ПарентНаме варцхар (8000), ПхонеНумбер инт, АддрессофСтудент варцхар (8000) НОТ НУЛЛ, Цити варцхар (8000), Цоунтри варцхар (8000) ДЕФАУЛТ 'Индиа') --ДЕФАУЛТ Ограничење на АЛТЕР ТАБЛЕ АЛТЕР ТАБЛЕ СтудентсИнфо ДОДАЈ ОГРАНИЧЕЊЕ дефау_Цоунтри ДЕФАУЛТ 'Индиа' ФОР Цоунтри --До дроп тхе Дефаулт Цонстраинт АЛТЕР ТАБЛЕ СтудентсИнфо АЛТЕР ЦОЛУМН Цоунтри ДРОП дефау_Цоунтри

ИНДЕКС

Тхе ИНДЕКС ограничење користи се за креирање индекса у табели помоћу којих можете врло брзо да креирате и преузмете податке из базе података.

Синтакса

--Направите индекс где су дозвољене двоструке вредности ЦРЕАТЕ ИНДЕКС ИндекНаме ОН ТаблеНаме (Цолумн1, Цолумн2, ... ЦолумнН) --Цреате Индек гдје дуплиране вредности нису дозвољене ЦРЕАТЕ УНИКУЕ ИНДЕКС ИндекНаме ОН ТаблеНаме (Цолумн1, Цолумн2, ... КолонаН)

Пример

ЦРЕАТЕ ИНДЕКС идек_СтудентНаме ОН СтудентсИнфо (СтудентНаме) --Да избришете индекс из табеле ДРОП ИНДЕКС СтудентсИнфо.идек_СтудентНаме

Крећући се напред у овом чланку о водичу за СКЛ Сервер, хајде да сада разумемо различите команде језика за манипулисање подацима које се користе у Мицрософт СКЛ Сервер-у.

Команде језика за манипулисање подацима

Овај одељак чланка покрива све оне наредбе помоћу којих можете манипулисати базом података. Наредбе су следеће:

Поред ових наредби, постоје и други манипулативни оператори / функције као што су:

УСЕ

Ова изјава се користи за одабир базе података за започињање извођења разних операција на њој.

Синтакса

УСЕ ДатабасеНаме

Пример

КОРИСТИТЕ студенте

ИНСЕРТ ИНТО

Тхе ИНСЕРТ ИНТО изјава користи се за уметање нових записа у постојећу табелу.

Синтакса

ИНСЕРТ ИНТО ТаблеНаме (Цолумн1, Цолумн2, Цолумн3, ..., ЦолумнН) ВРЕДНОСТИ (валуе1, валуе2, валуе3, ...) - Ако не желите да помињете имена колона, користите доњу синтаксу ИНСЕРТ ИНТО ТаблеНаме ВАЛУЕС (Вредност1, Вредност2, Вредност3, ...)

Пример

ИНСЕРТ ИНТО СтудентсИнфо (СтудентИД, СтудентНаме, ПарентНаме, ПхонеНумбер, Аддресс оф Студент, Цити, Цоунтри) ВРЕДНОСТИ ('06', 'Сањана', 'Капоор', '9977331199', 'Буффало Стреет Хоусе Но 10', 'Колката', 'Индиа ') ИНСЕРТ ИНТО СтудентсИнфо ВАЛУЕС (' 07 ',' Висхал ',' Мисхра ',' 9876509712 ',' Нице Роад 15 ',' Пуне ',' Индиа ')

АЖУРИРАЊЕ

Израз УПДАТЕ користи се за модификовање или ажурирање записа који су већ присутни у табели.

Синтакса

АЖУРИРАЊЕ ИМЕНА табеле СЕТ Колона1 = Вредност1, Колона2 = Вредност2, ... ВХЕРЕ услов

Пример

АЖУРИРАЊЕ СтудентИнфо ПОДЕШИТЕ ​​СтудентНаме = 'Аахана', Цити = 'Ахмедабад' ВХЕРЕ СтудентИД = 1

ИЗБРИШИ

Израз ДЕЛЕТЕ користи се за брисање постојећих записа у табели.

Синтакса

ОБРИШИ СА ИМЕНА Табле ВХЕРЕ Услов

Пример

ОБРИШИ СА СтудентсИнфо ГДЕ СтудентНаме = 'Аахана'

ГО

Израз МЕРГЕ користи се за извођење операција ИНСЕРТ, УПДАТЕ и ДЕЛЕТЕ на одређеној табели, где је обезбеђена изворна табела. Погледајте доле.

Синтакса

МЕРГЕ ТагретТаблеНаме КОРИШЋЕЊЕ СоурцеТаблеНаме НА МергеЦондитион КАДА СЕ УДОБИЛО ОНДА Упдате_Статемент КАДА НИЈЕ ПОВЕЗАНО ОНДА Инсерт_Статемент КАДА СЕ НИЈЕ ИЗВОРИ ПОТРЕБИЛО, ИЗБРИШИ

Пример

Да бисте разумели израз МЕРГЕ, узмите у обзир следеће табеле као изворну и циљну табелу.

Изворна табела:

СтудентИД Име студента Оцене
једанја мрзим87
2Манаса92
4Анаи74

Табела циљева:

СтудентИД Име студента Оцене
једанја мрзим87
2Манаса67
3Саурабх55
МЕРГЕ СамплеТаргетТабле ЦИЉ КОРИШЋЕЊЕМ СамплеСоурцеТабле ИЗВОРА НА (ТАРГЕТ.СтудентИД = СОУРЦЕ.СтудентИД) КАДА СЕ ПОВЕЗУЈЕ И ЦИЉ.СтудентНаме СОУРЦЕ.СтудентНаме ОР ТАРГЕТ.Маркс СОУРЦЕ.Маркс ТХЕН УПДАТЕ СЕТ ТАРГЕТАР, СОУРЦЕ. КАДА СЕ НЕ ПОВЕЗУЈЕ ЦИЉЕМ, ОНДА ИНСЕРТ (СтудентИД, СтудентНаме, Маркс) ВРИЈЕДНОСТИ (СОУРЦЕ.СтудентИД, СОУРЦЕ.СтудентНаме, СОУРЦЕ.Маркс) КАД СЕ НЕ ИЗВОРИ ИЗВОРИ ОНДА БРИСИ

Оутпут

СтудентИД Име студента Оцене
једанја мрзим87
2Манаса92
4Анаи74

СЕЛЕЦТ

Тхе Наредба СЕЛЕЦТ користи се за одабир података из базе података, табеле или погледа. Враћени подаци чувају се у табели резултата која се назива сет резултата .

Синтакса

СЕЛЕЦТ колона1, колона2, ... колона ОД ИМЕ табеле - (*) користи се за одабир свих из табеле СЕЛЕЦТ * ФРОМ име_табеле - за одабир броја записа који ће се користити: СЕЛЕЦТ ТОП 3 * ФРОМ ТаблеНаме

Пример

- За одабир неколико колона СЕЛЕЦТ СтудентИД, СтудентНаме ФРОМ СтудентсИнфо - (*) користи се за одабир свих из табеле СЕЛЕЦТ * ФРОМ СтудентсИнфо - За одабир броја записа који ће се вратити: СЕЛЕЦТ ТОП 3 * ФРОМ СтудентсИнфо

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

ДИСТИНЦТ

Кључна реч ДИСТИНЦТ користи се са наредбом СЕЛЕЦТ за враћање само различитих вредности.

Синтакса

СЕЛЕЦТ ДИСТИНЦТ Колона1, Колона2, ... КолонаН ИЗ ИМЕНА Табеле

Пример

ОДАБЕРИТЕ РАЗЛИЧИТИ БРОЈ Телефона од студентских информација

НАРУЧИ ПО

Ова изјава се користи за сортирање тражених резултата у растућем или силазном редоследу. Резултати се подразумевано похрањују у растућем редоследу. Ипак, ако желите резултате добити у опадајућем редоследу, морате користити ДЕСЦ кључна реч.

Синтакса

ОДАБЕРИ ступац1, ступац2, ... ступацН ИЗНаме табеле НАРУЧИ ПО ступац1, ступац2, ... АСЦ | ДЕСЦ

Пример

- Изаберите све ученике из табеле „СтудентсИнфо“ сортиране по имену родитеља: СЕЛЕЦТ * ФРОМ СтудентсИнфо ОРДЕР БИ ПарентНаме - Изаберите све студенте из табеле „СтудентсИнфо“ сортирано по имену родитеља у опадајућем редоследу: СЕЛЕЦТ * ФРОМ СтудентсИнфо ОРДЕР БИ ПарентНаме ДЕСЦ - Изаберите све студенте из табеле „СтудентсИнфо“ сортиране по родитељском имену и студентском имену: СЕЛЕЦТ * ФРОМ СтудентсИнфо ОРДЕР БИ ПарентНаме, СтудентНаме / * Изаберите све студенте из табеле „СтудентсИнфо“ сортиране по родитељском имену у опадајућем редоследу и по ученичком имену у растућем редоследу: * / СЕЛЕЦТ * ОД СтудентсИнфо НАРУЧИТЕ ПО ИМЕНУ родитеља АСЦ, СтудентНаме ДЕСЦ

ГРУПА ОД

Ова изјава се користи са агрегатне функције за груписање скупа резултата у једну или више колона.

Синтакса

ИЗАБЕРИ ступац1, ступац2, ..., ступацН ИЗНАМЕНА табеле ГДЕ услов ГРУПА ПО ИМЕНИМА КОЛОНА РЕДОСЛИЈЕД ПО ИМЕНИМА КОЛОНА

Пример

- Навести број ученика из сваког града. ОДАБЕРИТЕ ТРОЈАК (СтудентИД), град ИЗ студентске информације ГРУПА ПО ГРАДУ

СКУПОВИ ЗА ГРУПОВАЊЕ

СКУПОВИ ГРУПОВАЊА уведени су у СКЛ Сервер 2008, а користе се за генерисање скупа резултата који се могу генерисати помоћу УНИОН АЛЛ вишеструких једноставних клаузула ГРОУП БИ.

Синтакса

ОДАБИРИ Имена (И) Ступаца ИЗ ГРУПЕ ТаблеНАМЕ ГРУПИРАЊЕМ СКУПОВА (Имена (ступаца))

Пример

ОДАБЕРИТЕ СтудентИД, СтудентНаме, ЦОУНТ (Цити) из СтудентсИнфо Гроуп ГРОУПИНГ СЕТС ((СтудентИД, СтудентНаме, Цити), (СтудентИД), (СтудентНаме), (Цити))

ХАВИНГ

Ова клаузула се користи у сценарију где ВХЕРЕ кључна реч не може да се користи.

Синтакса

ОДАБЕРИТЕ ИМЕ КОЛОНЕ СА ИМЕНА ТАБЛЕ ГДЈЕ Услов ГРУПА ПО ИМЕ КОЛОНА ИМАЈУ УРЕЂЕЊЕ УСЛОВА ПО ИМЕНИМА КОЛОНЕ

Пример

ОДАБЕРИТЕ БРОЈ (СтудентИД), Град ИЗ СтудентИнфо ГРУПА ПО ГРАДУ ИМАЈУЋИ ЦОУНТ (СтудентИД)> 2 РЕД ПО БРОЈУ (СтудентИД) ДЕСЦ

У

Кључна реч ИНТО може се користити са Наредба СЕЛЕЦТ за копирање података из једне табеле у другу. Па, ове табеле можете схватити као привремене. Привремене табеле се обично користе за извођење манипулација подацима присутним у табели, без ометања оригиналне табеле.

Синтакса

СЕЛЕЦТ * ИНТО НевТабле [ИН ЕктерналДБ] ФРОМ ОлдТабле ВХЕРЕ Цондитион

Пример

- Да бисте креирали резервну копију табеле 'СтудентсИнфо' СЕЛЕЦТ * ИНТО СтудентсБацкуп ФРОМ СтудентсИнфо --Да бисте изабрали само неколико колона из СтудентсИнфо СЕЛЕЦТ СтудентНаме, ПхонеНумбер ИНТО СтудентсДетаилс ФРОМ СтудентсИнфо СЕЛЕЦТ * ИНТО ПунеСтудентс ФРОМ СтудентсИнфо ВХЕРЕ Цити = 'Пуне'

ЦУБЕ

ЦУБЕ је продужетак Клаузула ГРОУП БИ . Омогућава вам генерисање подзброја за све комбинације ступаца за груписање наведене у клаузули ГРОУП БИ.

Синтакса

ОДАБЕРИТЕ ИМЕ ступаца ИЗ ГРУПЕ ТаблеНАМЕ по коцки (Име ступаца1, Име ступаца2, ....., Име ступаца)

Пример

ОДАБЕРИТЕ СтудентИД, ЦОУНТ (Цити) ИЗ СтудентсИнфо ГРОУП БИ ЦУБЕ (СтудентИД) ОРДЕР БИ СтудентИД

ЗАРОЛАТИ

РОЛЛУП је продужетак клаузуле ГРОУП БИ. Ово вам омогућава да уврстите додатне редове који представљају међузбројеве. Они се називају супер-агрегираним редовима заједно са укупним редом.

Синтакса

ОДАБЕРИТЕ ИМЕ ступаца ИЗ ГРУПЕ ТаблеНАМЕ ПО САБОРУ (Име ступаца1, Име ступца2, ....., Име ступаца)

Пример

ОДАБЕРИТЕ СтудентИД, ЦОУНТ (Цити) ИЗ СтудентсИнфо ГРОУП би РОЛЛУП (СтудентИД)

ОФСЕТ

Клаузула ОФФСЕТ се користи са СЕЛЕЦТ и ОРДЕР БИ изјава да бисте преузели низ записа. Мора се користити са клаузулом ОРДЕР БИ јер се не може користити самостално. Такође, опсег који помињете мора бити једнак или већи од 0. Ако поменете негативну вредност, то показује грешку.

Синтакса

ОДАБЕРИТЕ Имена ступаца) ИЗ ИМЕНА табеле ГДЕ услов РЕДОСЛИЈЕД ПО ИМЕНИМА ступаца ИСКЉУЧИТЕ РЕДОВЕ ЗА СКИЈАЊЕ РЕДОВА

Пример

Размислите о новој колони Оцене у СтудентсИнфо сто.

ОДАБЕРИТЕ ИМЕ УЧЕНИКА, ИМЕ родитеља Надимак ИЗ СтудентсИнфо

ФЕТЦХ

Клаузула ФЕТЦХ користи се за враћање скупа од броја редова. Мора се користити заједно са клаузулом ОФФСЕТ.

Синтакса

ОДАБЕРИТЕ Имена ступаца) ИЗ ИМЕНА табеле ГДЕ услов НАРУЧИТЕ ПО ИМЕНИМА ступаца ПОКРЕНИТЕ редове за прескакање ПРЕУЗИМАЊЕ СЛЕДЕЋЕГ броја РАЗРЕДИ САМО РЕДОВИ

Пример

ОДАБЕРИТЕ ИМЕ УЧЕНИКА, ИМЕ родитеља Надимак ИЗ СтудентИнфо. НАРУЧИ ПО ОЗНАКАМА ПОКРЕНИ 1 РЕДОВИ ПРЕУЗМИ СЛЕДЕЋЕ 1 САМО РЕДОВЕ

ТОП

Клаузула ТОП користи се са наредбом СЕЛЕЦТ да би се споменуо број записа које треба вратити.

Синтакса

СЕЛЕЦТ ТОП Нумбер ЦолумнНаме (с) ФРОМ ИМЕ Табле ВХЕРЕ Услов

Пример

ИЗАБЕРИТЕ ТОП 3 * ИЗ СтудентИнфо

ПИВОТ

ПИВОТ се користи за ротирање редова према вредностима колона и покреће агрегације када је потребно на преосталим вредностима колона.

Синтакса

СЕЛЕЦТ НонПивотед ЦолумнНаме, [Фирст Пивотед ЦолумнНаме] АС ЦолумнНаме, [Сецонд Пивотед ЦолумнНаме] АС ЦолумнНаме, [Тхирд Пивотед ЦолумнНаме] АС ЦолумнНаме, ... [Ласт Пивотед ЦолумнНаме] АС ЦолумнНАМЕ ФРОМ (СЕЛЕЦТ упит који производи податке) АС [алиас за почетни упит] ПИВОТ ([АггрегатионФунцтион] (ЦолумНаме) ФОР [Име ступца колоне чије ће вредности постати заглавља колона] ИН ([Фирст Пивотед ЦолумнНаме], [Сецонд Пивотед ЦолумнНаме], [Тхирд Пивотед ЦолумнНаме] ... [ласт пивотирана колона])) КАО [псеудоним за пивот табелу]

Пример

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

Оператори

Тхе различите врсте оператора које подржава СКЛ Сервер су следеће:

Разговарајмо о сваком од њих један по један.

Аритметички оператори

Оператор Значење Синтакса

+

Сабирање

израз + израз

-

Одузимање

израз - израз

*

Множење

израз * израз

/

Дивисон

израз / израз

%

Модулно

израз% израз

Оператори доделе

Оператор Значење Синтакса

=

Доделите вредност променљивој

променљива = „вредност“

Бит-ови оператори

Оператор Значење Синтакса

& (У битовима И)

Користи се за извршавање битне логичке И операције између две целобројне вредности.

израз & израз

& = (Бит-бит и додељивање)

Користи се за извршавање битне логичке И операције између две целобројне вредности. Такође поставља вредност излазу операције.

израз & = израз

|. | (У битовима ИЛИ)

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

израз | израз

| = (Битно ИЛИ додељивање)

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

израз | = израз

^ (Битно ексклузивно ИЛИ)

Користи се за извођење битне ексклузивне ИЛИ операције између две целобројне вредности.

израз ^ израз

^ = (Битно ексклузивно ИЛИ додељивање)

Користи се за извођење битне ексклузивне ИЛИ операције између две целобројне вредности. Такође поставља вредност излазу операције.

израз ^ = израз

~ (У битовима НЕ)

Користи се за извођење битне логичке операције НОТ на целобројној вредности.

~ израз

Оператори поређења

Оператор Значење Синтакса

=

Једнако

израз = израз

>

Веће од

израз> израз

<

Мање од

израз

> =

Већи или једнак

израз> = израз

<=

Мање или једнако

израз<= expression

Неједнако са

израз израз

! =

Неједнако са

израз! = израз

!<

Не мање од

израз!

!>

Не веће од

израз!> израз

Сложени оператери

Оператор Значење Синтакса

+ =

Користи се за додавање вредности првобитној вредности и постављање оригиналне вредности на резултат.

израз + = израз

- =

Користи се за одузимање вредности од првобитне вредности и подешавање оригиналне вредности на резултат.

израз - = израз

* =

Користи се за множење вредности на изворну вредност и подешавање оригиналне вредности на резултат.

израз * = израз

/ =

Користи се за поделу вредности од изворне вредности и подешавање оригиналне вредности на резултат.

израз / = израз

% =

Користи се за поделу вредности од изворне вредности и подешавање оригиналне вредности на резултат.

израз% = израз

& =

Користи се за извршавање битних операција И и подешавање оригиналне вредности на резултат.

која је разлика између Јава и Ц ++

израз & = израз

^ =

Користи се за извођење битне ексклузивне операције ИЛИ и постављање оригиналне вредности на резултат.

израз ^ = израз

| =

Користи се за извршавање битне ИЛИ операције и постављање оригиналне вредности на резултат.

израз | = израз

Логички оператори

Оператор Значење Синтакса

СВЕ

Враћа ТРУЕ ако су сви скупови поређења ТРУЕ.

сцалар_екпрессион! = СВЕ (подупит)

И

Враћа ТРУЕ ако су оба израза ТРУЕ.

боолеан_екпрессион И боолеан_екпрессион

БИЛО КОЈИ

Враћа ТРУЕ ако је неко од скупа поређења ТРУЕ.

скаларни_израз! = {БИЛО КОЈИ} (подупит)

ИЗМЕЂУ

Враћа ТРУЕ ако је операнд унутар опсега.

самплеекпрессион [НОТ] ИЗМЕЂУ бегинекпрессион АНД ендекпрессион

ПОСТОЈИ

Враћа ТРУЕ ако подупит садржи било који ред.

ПОСТОЈИ (подупит)

ИН

Враћа ИСТИНА ако је операнд једнак једном са листе израза.

тест_екпрессион [НОТ] ИН (подупит | израз [,… н])

КАО

Враћа ТРУЕ ако се операнд подудара са шаблоном.

матцх_екпрессион [НОТ] ЛИКЕ паттерн [ЕСЦАПЕ есцапе_цхарацтер]

НЕ

Обрне вредност било ког логичког оператора.

[НОТ] боолеан_екпрессион

ИЛИ

Враћа ТРУЕ ако је било који од логичких израза ТРУЕ.

боолеан_екпрессион ИЛИ боолеан_екпрессион

НЕКИ

Враћа ТРУЕ ако су неки од низа поређења ТРУЕ.

скаларни_израз<= { SOME} ( subquery )

Оператери резолуције опсега

Оператор Значење Пример

::

Омогућава приступ статичким члановима сложеног типа података. Сложени типови података су они типови података који садрже више метода и једноставне типове података. Сложени типови података Укључују уграђене ЦЛР типове и прилагођене СКЛЦЛР кориснички дефинисане типове (УДТ).

ПРОГЛАШИТЕ @хид хиерарцхиид СЕЛЕЦТ @хид = хиерарцхиид :: ГетРоот () ПРИНТ @ хид.ТоСтринг ()

Сет Операторс

Постоје углавном три постављене операције:УНИЈА,ИНТЕРСЕЦТ,МИНУС. Можете се позвати на доњу слику да бисте разумели постављене операције у СКЛ-у. Погледајте доњу слику:

Оператор Значење Синтакса

УНИЈА

Оператор УНИОН користи се за комбиновање скупа резултата два или више СЕЛЕЦТ израза.

СЕЛЕЦТ ИМЕ (А) ступаца ИЗ Табеле1
УНИЈА
СЕЛЕЦТ ИМЕ (А) ступаца ИЗ Табеле2

ИНТЕРСЕЦТ

Клаузула ИНТЕРСЕЦТ користи се за комбиновање дваСЕЛЕЦТнаредбе и враћа пресек скупова података оба СЕЛЕЦТ израза.

СЕЛЕЦТ колона1, колона2….
ФРОМ ТаблеНаме
ВХЕРЕ Стање
ИНТЕРСЕЦТ
СЕЛЕЦТ колона1, колона2….
ФРОМ ТаблеНаме
ВХЕРЕ Стање

ОСИМ

Оператор ЕКСЦЕПТ враћа оне корпице које су враћене првом СЕЛЕЦТ операцијом, а нису враћене другом СЕЛЕЦТ операцијом.

СЕЛЕЦТ ЦолумнНаме
ФРОМ ТаблеНаме
ОСИМ
СЕЛЕЦТ ЦолумнНаме
ФРОМ ТаблеНаме

Стринг Операторс

Оператор Значење Синтакса / Пример

+ (Спајање низова)

Спаја два или више бинарних низова или знаковних низова, ступаца или комбинацију низова и имена колона у један израз

шта су догађаји у јавасцрипту

израз + израз

+ = (Спајање низова)

Користи се за спајање два низа и поставља стринг као резултат операције.

израз + = израз

% (Џокер знакови који се подударају)

Користи се за подударање са било којим низом од нула или више знакова.

Пример: „сампле%“

[] (Заменљиви знакови који се подударају)

Користи се за подударање једног знака унутар наведеног опсега или скупа који је наведен између заграда [].

Пример: м [н-з]% ’

[^] (Заменљиви знакови који се подударају)

Користи се за подударање са једним знаком који није унутар опсега или скупа наведеног између угластих заграда.

Пример: „Ал [^ а]%“

_ (Џокер знакови који се подударају)

Користи се за подударање са једним знаком у операцији поређења низа

тест_екпрессион [НОТ] ИН (подупит | израз [,… н])

Збирно Функције

Различити агрегатне функције које подржава СКЛ Сервер су следеће:

Функција Опис Синтакса Пример

СУМ ()

Користи се за враћање збира групе вредности.

СЕЛЕЦТ СУМ (ЦолумнНаме) ФРОМ ТаблеНаме

ОДАБЕРИТЕ ЗБИР (Ознаке) ИЗ Студентске информације

ЦОУНТ ()

Враћа број редова на основу услова или без услова.

СЕЛЕЦТ ЦОУНТ (ЦолумнНаме) ФРОМ ТаблеНаме ВХЕРЕ Цондитион

ОДАБЕРИТЕ БРОЈ (СтудентИД) ИЗ СтудентсИнфо

АВГ ()

Користи се за израчунавање просечне вредности нумеричког ступца.

СЕЛЕЦТ АВГ (ЦолумнНаме) ФРОМ ТаблеНаме

СЕЛЕЦТ АВГ (Маркс) ФРОМ СтудентсИнфо

МИН ()

Ова функција враћа минималну вредност колоне.

СЕЛЕЦТ МИН (ЦолумнНаме) ФРОМ ТаблеНаме

ИЗАБЕРИТЕ МИН (оцене) ИЗ студентске информације

МАКС ()

Враћа максималну вредност колоне.

СЕЛЕЦТ МАКС (ЦолумнНаме) ФРОМ ТаблеНаме

ОДАБЕРИТЕ МАКС (оцене) ИЗ студентске информације

ПРВИ()

Користи се за враћање прве вредности колоне.

ОДАБЕРИТЕ ПРВО (Име колоне) ИЗНаме табеле

ОДАБЕРИТЕ ПРВО (Ознаке) ИЗ Студентске информације

ПОСЛЕДЊИ ()

Ова функција враћа последњу вредност колоне.

ИЗАБЕРИ ПОСЛЕДЊЕ (Име ступца) ИЗНамена

ОДАБЕРИТЕ ПОСЛЕДЊЕ (Ознаке) ИЗ Студентске информације

Кориснички дефинисане функције

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

Кориснички дефинисане функције можете користити за:

  • Омогућите модуларно програмирање
  • Смањите мрежни промет
  • Омогућите брже извршавање упита

Такође, постоје различите врсте кориснички дефинисаних функција које можете да креирате. Су:

  • Скаларне функције: Користи заврати једну вредност података типа дефинисаног у клаузули РЕТУРНС.
  • Табеларне функције: Користи заповратак астотип података.
  • Функције система: СКЛ Сервер пружа разне системске функције за обављање различитих операција.

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

Угнездени упити

Угнездени упити су они упити који имају спољни упит и унутрашњи подупит. Дакле, у основи, подупит је упит који је угнежђен унутар другог упита, као што је СЕЛЕЦТ, ИНСЕРТ, УПДАТЕ или ДЕЛЕТЕ. Погледајте доњу слику:

Следеће у овом упутству за СКЛ Сервер, дајте нам разумевање различитих типова удруживања у СКЛ-у.

Придружује се

користе се за комбиновање корпица из две или више табела, на основу сродног ступца између табела. Постоје четири врсте придруживања:

  • ИННЕР ЈОИН: Враћа записе који имају подударне вредности у обе табеле.
  • ЛЕФТ ЈОИН: Враћа записе из леве табеле, а такође и оне записе који задовољавају услов из десне табеле.
  • ПРАВО ПРИДРУЖИВАЊЕ: Враћа записе из десне табеле, а такође и оне записе који задовољавају услов из леве табеле.
  • ФУЛЛ ЈОИН: Враћа записе који се подударају у левој или десној табели.

Узмите у обзир следећу табелу заједно са табелом СтудентсИнфо да бисте разумели синтаксу удруживања.

СубјецтИД СтудентИД СубјецтНаме
1010Математика
2ЈеданаестСтање
312Хемија

ИННЕР ЈОИН

Синтакса

СЕЛЕЦТ ИМЕ ступаца ИЗ Табеле1 ИННЕР ЈОИН Табле2 ОН Табле1.ЦолумнНаме = Табле2.ЦолумнНаме

Пример

СЕЛЕЦТ Субјецтс.СубјецтИД, СтудентсИнфо.СтудентНаме ФРОМ Субјецтс ИННЕР ЈОИН ПРИДРУЖИТЕ се СтудентИнфо ОН Субјецтс.СтудентИД = СтудентсИнфо.СтудентИД

ЛЕВО ПРИДРУЖИТЕ

Синтакса

СЕЛЕЦТ ИМЕ ступаца ИЗ Табеле1 ЛИЈЕВО ПРИДРУЖИВАЊЕ Табле2 ОН Табле1.ЦолумнНаме = Табле2.ЦолумнНаме

Пример

ОДАБЕРИТЕ СтудентИнфо.СтудентНаме, Субјецтс.СубјецтИД ФРОМ СтудентсИнфо ЛЕВО ПРИДРУЖИТЕ ПРЕДМЕТИМА НА СтудентсИнфо.СубјецтИД = Субјецтс.СубјецтИД НАРУЧИТЕ ПО СтудентсИнфо.СтудентНаме

ПРАВО ПРИДРУЖИТЕ

Синтакса

СЕЛЕЦТ ИМЕ ступаца ИЗ Табеле1 ПРАВО ПРИДРУЖИВАЊЕ Табле2 ОН Табле1.ЦолумнНаме = Табле2.ЦолумнНаме

Пример

ОДАБЕРИТЕ СтудентИнфо.СтудентНаме, Субјецтс.СубјецтИД ФРОМ СтудентсИнфо ПРАВО ПРИДРУЖИТЕ СЕ ПРЕДМЕТИМА НА СтудентсИнфо.СубјецтИД = Субјецтс.СубјецтИД НАРУЧИТЕ ПО СтудентсИнфо.СтудентНаме

ФУЛЛ ЈОИН

Синтакса

СЕЛЕЦТ ИМЕ ступаца ИЗ Табеле1 ПУНО ВАЊСКО ПРИДРУЖИВАЊЕ Табле2 ОН Табле1.ЦолумнНаме = Табле2.ЦолумнНаме

Пример

ОДАБЕРИТЕ СтудентИнфо.СтудентНаме, Субјецтс.СубјецтИД ФРОМ СтудентсИнфо ПУНО ВАЊСКО ПРИДРУЖИТЕ ПРЕДМЕТЕ НА СтудентсИнфо.СубјецтИД = Субјецтс.СубјецтИД НАРУЧИТЕ ПО СтудентсИнфо.СтудентНаме

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

Лоопс

Различите команде за контролу протока су следеће:

Разговарајмо о сваком од њих један по један.

ПОЧНИТЕ..ЕНД

Ове кључне речи се користе за затварање низа СКЛ израза. Затим се може извршити ова група СКЛ израза.

Синтакса

БЕГИН СтатементБлоцк ЕНД

ПАУЗА

Ова изјава се користи за излазак из тренутне ВХИЛЕ петље. У случају да је тренутна ВХИЛЕ петља угнежђена унутар друге петље, тада наредба БРЕАК излази само из тренутне петље и контрола се преноси на следећу наредбу у тренутној петљи. Израз БРЕАК се обично користи унутар ИФ израза.

Синтакса

ПАУЗА

НАСТАВИ

Израз ЦОНТИНУЕ користи се за поновно покретање петље ВХИЛЕ. Дакле, било који исказ након кључне речи ЦОНТИНУЕ биће занемарен.

Синтакса

НАСТАВИ

Овде је Лабел тачка након које започиње обрада ако је ГОТО циљан на ту одређену етикету.

ИДИ НА

Користи се за мењање тока извршавања на етикети. Изјаве написане након кључне речи ГОТО прескачу се и обрада се наставља на налепници.

Синтакса

Дефиниши ознаку: Ознака: Измени извршење: ГОТО ознака

Овде је Лабел тачка након које започиње обрада ако је ГОТО циљан на ту одређену етикету.

АКО ДРУГО

Као и било који други програмски језик, наредба Иф-елсе у СКЛ Серверу тестира стање и ако је услов нетачан, извршава се израз ‘елсе’.

Синтакса

АКО БоолеанЕкпрессион СтатементБлоцк [ЕЛСЕ СтатементБлоцк]

ПОВРАТАК

Користи се за безуветан излазак из упита или процедуре. Дакле, изрази написани након клаузуле РЕТУРН се не извршавају.

Синтакса

РЕТУРН [ИнтегерЕкпрессион]

Овде се враћа целобројна вредност.

ЧЕКАЈ

ВАИТФОР контролни ток користи се за блокирање извршавања ускладиштене процедуре, трансакције или серије док се одређена наредба не модификује, не врати барем један ред или не истекне одређено време или временски интервал.

Синтакса

ВАИТФОР (ГетЦонверсионГроупСтатемент)] [, ТИМЕОУТ тимеоут]

где,

  • ОДЛОЖИТЕ - Период који мора проћи
  • ТимеТоПасс - П.период времена за чекање
  • ВРЕМЕ - Тхевреме када се покреће ускладиштена процедура, трансакција или серија.
  • ТимеТоЕкецуте - Тхевреме када се завршава изјава ВАИТФОР-а.
  • РециевеСтатемент - ДОважећа РЕЦЕИВЕ изјава.
  • ГетЦонверсионГроупСтатемент - ДОважећа изјава ГЕТ ЦОНВЕРСАТИОН ГРОУП.
  • ТИМЕОУТ тимеоут - Одређује временски период у милисекундама да сачека да порука стигне у ред.

ДОК

Ова петља се користи за постављање услова за поновљено извршавање одређене СКЛ наредбе или блока СКЛ наредбе. Изјаве се извршавају све док је услов који је корисник поменуо ИСТИНИТ. Чим услов закаже, петља престаје да се извршава.

Синтакса

ДОК ЈЕ Изјава БоолеанЕкпрессионБлоцк

Сада, знате ли ДМЛ команде, пређимо на наш следећи одељаку овом чланку о СКЛ водичу, тј. ДЦЛ наредбама.

Наредбе за контролу података података (ДЦЛ)

Овај одељак водича за СКЛ Сервер ће вам дати идеју о наредби помоћу које се користи за јачање сигурности базе података у више корисничких окружења база података. Наредбе су следеће:

ОДОБРИТИ

Наредба ГРАНТ користи се за пружање приступа или привилегија бази података и њеним објектима корисницима.

Синтакса

ДОДАТИ ПривилегеНаме НА ОбјецтНаме НА РолеНаме [СА ДОДАТНОМ ОПЦИЈОМ]

где,

  • ПривилегеНаме - Да ли се привилегија / право / приступ додељује кориснику.
  • ОбјецтНаме - Име објекта базе података попут ТАБЕЛА / ПОГЛЕД / СКЛАДИШТЕНИ ПРОЦ.
  • Корисничко име - Име корисника коме се дају приступ / права / привилегије.
  • ЈАВНО - Доделити права приступа свим корисницима.
  • РолеНаме - Назив скупа привилегија груписаних заједно.
  • СА ДОДАТНОМ ОПЦИЈОМ - Да се ​​кориснику омогући приступ другим корисницима са правима.

Пример

- Доделити дозволу СЕЛЕЦТ табели СтудентсИнфо кориснику1 ГРАНТ СЕЛЕЦТ ОН СтудентИнфо ТО усер1

РЕВОКЕ

Команда РЕВОКЕ користи се за повлачење привилегија приступа корисника додељених помоћу команде ГРАНТ.

Синтакса

Опозови ПривилегеНаме НА ОБјецтНаме ФРОМ ПУБЛИЦ

Пример

- Да опозове одобрење корисника усер1 РЕВОКЕ СЕЛЕЦТ ОН ОН СтудентИнфо ТО усер1

Настављајући даље у овом упутству за СКЛ Сервер, дајте нам разумевање како да креирамо и користимо ускладиштене процедуре.

Похрањене процедуре

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

Синтакса

СТВОРИ [ИЛИ ЗАМЕНИ] ПОСТУПАК име_процедуре [(име_параметара [ИН | ОУТ | ИН ОУТ] тип [])] ЈЕ ПОЧЕТАК [сецтион_сецтион] извршна_секција // СКЛ израз који се користи у сачуваној процедури ЕНД ГО

Пример

- Креирајте процедуру која ће вратити име студента када је СтудентИд дат као улазни параметар у ускладиштену процедуру Креирајте ПРОЦЕДУРУ ГетСтудентНаме (@СтудентИд ИНТ, --Улазни параметар, @СтудНаме ВАРЦХАР (50) ОУТ --Оутпут параметер, АС ПОЧНИТЕ ОДАБИРАТИ @СтудНаме = Име Студента ИЗ СтудентсИнфо ГДЕ СтудентИД = @ СтудентИд ЕНД

Кораци за извршење:

      • Прогласи @СтудНаме као нварцхар (50)
      • ЕКСЕЦ ГетСтудентНаме 01, излаз @СтудНаме
      • СЕЛЕЦТ @СтудНаме

Горњи поступак враћа име одређеног ученика,на давање тог студента као улаз. Следеће у овом упутству за СКЛ Сервер, дозволите нам да разумемо команде језика за контролу трансакција.

Наредбе за контролу трансакција (ТЦЛ)

Овај одељак водича за СКЛ Сервер ће вам дати увид у наредбе које се користе за управљање трансакцијама у бази података.Наредбе су следеће:

УРАДИТИ

Команда ЦОММИТ користи се за спремање трансакције у базу података.

Синтакса

УРАДИТИ

РОЛБАЦК

Наредба РОЛЛБАЦК се користи за враћање базе података у задње урезано стање.

Синтакса

РОЛБАЦК

БЕЛЕШКА: Када користите РОЛЛБАЦК са САВЕПОИНТ, тада можете директно да пређете на тачку спремања у текућој трансакцији. Синтакса: ПОВРАТАК НА СавепоинтНаме

САВЕПОИНТ

Наредба САВЕПОИНТ користи се за привремено спремање трансакције. Дакле, ако желите да се вратите у било коју тачку, онда је можете сачувати као „САВЕПОИНТ“.

Синтакса

САВЕПОИНТ САВЕПОИНТНАМЕ

Да бисте разумели рад трансакција у бази података, размотрите доњу табелу.

СтудентИД Име студента
једанРохит
2Сухана
3Асхисх
4Прерна

Сада користите доле за разумевање трансакција у бази података.

ИНСЕРТ ИНТО СтудентТабле ВАЛУЕС (5, 'Авинасх') ЦОММИТ УПДАТЕ СтудентТабле СЕТ наме = 'Акасх' ВХЕРЕ ид = '5' САВЕПОИНТ С1 ИНСЕРТ ИНТО ВАЛД СтудентТабле ВАЛУЕС (6, 'Сањана') САВЕПОИНТ С2 ИНСЕРТ ИНТО ВАЛУЕС СтудентТабле (7, 'Сањаи ') САВЕПОИНТ С3 УМЕСТИ У ВРЕДНОСТИ студентске табеле (8,' Веена ') САВЕПОИНТ С4 СЕЛЕЦТ * ФРОМ СтудентТабле

Следеће у овом чланку о водичу за СКЛ Сервер, дајте нам разумевање како се рукује изузецима у Трансацт-СКЛ.

Изузетак руковање

Постоје две врсте изузетака, тј. Системски дефинисани изузеци и кориснички дефинисани изузеци. Као што и само име говори, руковање изузецима је процес кроз који корисник може да се носи са генерисаним изузецима. Да бисте се носили са изузецима, морате да разумете следеће изјаве контролног тока:

БАЦИ

Ова клаузула се користи за покретање изузетка и преношење извршења у блок ЦАТЦХ конструкције ТРИ ... ЦАТЦХ.

Синтакса

БАЦИ [ЕррорНумбер, @лоцалвариабле, Стате] []

где,

  • ЕррорНумбер - ДОконстанта или променљива која представља изузетак.
  • Порука - ДОпроменљива или низ који описује изузетак.
  • Стање -Константа или променљива између 0 и 255 која означава стање које ће се придружити поруци.
ТХРОВ 51000, 'Запис не постоји.', 1

ПОКУШАЈ ДА УХВАТИШ

Користи се за примену руковања изузецима у Трансацт-СКЛ. Група изјава може бити затворена у блок ТРИ. У случају да се догоди грешка у блоку ТРИ, контрола се преноси другој групи израза који су затворени у блоку ЦАТЦХ.

Синтакса

БЕГИН ТРИ СтатементБлоцк ЕНД ТРИ БЕГИН ЦАТЦХ [СтатементБлоцк] ЕНД ЦАТЦХ []
БЕГИН ТРИ СЕЛЕЦТ * ФРОМ СтудентсИнфо ЕНД ТРИ БЕГИН ЦАТЦХ СЕЛЕЦТ ЕРРОР_НУМБЕР () АС ЕрНум, ЕРРОР_МЕССАГЕ () АС ЕрМсг ЕНД ЦАТЦХ

ИН Тиме долазимо до краја овог чланка о водичу за СКЛ Сервер. Надам се да сте уживали читајући овај чланак о СКЛ Сервер Водичу за почетнике.Ја Ако желите да добијете структурирану обуку о МиСКЛ-у, а затим погледајте нашу која долази са обуком уживо коју воде инструктори и искуством у стварном животу. Овај тренинг ће вам помоћи да дубље разумете МиСКЛ и да вам помогне да савладате тему. Имате питање за нас? Молимо вас да то поменете у одељку за коментаре „ Водич за СКЛ Сервер ”И јавићу вам се.