Привремене табеле СКЛ Сервера привремено чувају податке. Можете да извршите исте операције—као што су СЕЛЕЦТ, ИНСЕРТ, ДЕЛЕТЕ и УПДАТЕ—на привременој табели као и обична СКЛ табела.
Темп табеле живе у бази података темпдб и видљиве су само током трајања везе. Када прекинете везу, СКЛ Сервер брише привремену табелу. Такође га можете експлицитно избрисати у било ком тренутку.
Типови привремених табела СКЛ Сервера
Постоје две врсте привремених табела СКЛ Сервера: локалне и глобалне.
Табела локалних температура
Локална привремена табела је видљива само вези која ју је створила. Када се та веза заврши или корисник прекине везу са СКЛ Сервер на пример, локална привремена табела се аутоматски испушта.
Да бисте креирали локалну привремену табелу, користите један хеш симбол (#) на почетку имена табеле са наредбом ЦРЕАТЕ ТАБЛЕ. Ево синтаксе.
КРЕИРАЈСТО#ТемпТабле (
Колона 1 ИНТ,
Колона 2 ВАРЦХАР(50)
);
На пример, следећи код креира привремену табелу под називом ТемпЦустомер са пољем за име и адресу е-поште.
КРЕИРАЈСТО#ТемпЦустомер (
ИД инт НОТ НУЛЛ ПРИМАРНИ КЉУЧ
Пуно име ВАРЦХАР(50),
Пошаљи имејл ВАРЦХАР(50)
);
Табела глобалних температура
Глобална привремена табела је привремена табела видљива свим везама и корисницима. СКЛ Сервер ће га одбацити када се све везе и корисници који упућују на табелу прекину.
Да бисте креирали глобалну привремену табелу, додајте префикс имену табеле двоструким хешовима (##) и користите наредбу ЦРЕАТЕ ТАБЛЕ.
КРЕИРАЈСТО##ТемпТабле (
Колона 1 ИНТ,
Колона 2 ВАРЦХАР(50)
);
Следећи код креира глобалну привремену табелу под називом ТемпЦустомер.
КРЕИРАЈСТО##ТемпЦустомер (
ИД инт НОТ НУЛЛ ПРИМАРНИ КЉУЧ
Пуно име ВАРЦХАР(50),
Пошаљи имејл ВАРЦХАР(50)
);
Овај код је сличан примеру за локалну привремену табелу, само са два хеш симбола уместо једног. Сада можете користити стандардне СКЛ команде да додате или манипулишете подацима у табели темп.
Како испустити табелу Темп
Инстанца СКЛ Сервера аутоматски испушта привремену табелу када се сви корисници који је позивају прекину везу. Као најбољу праксу, увек би требало да експлицитно испустите своје привремене табеле да бисте ослободили темпдб меморију.
Да бисте испустили привремену табелу, користите наредбу ДРОП ТАБЛЕ ИФ ЕКСИСТС иза које следи име привремене табеле.
Ево како да испустите табелу #ТемпЦустомер:
КАПСТОАКОПОСТОЈИ#ТемпЦустомер
Користите исти код, али замените име табеле да бисте испустили глобалну привремену табелу.
КАПСТОАКОПОСТОЈИ##ТемпЦустомер
Типичне употребе СКЛ Темп табела
Привремене табеле су корисне када треба да ускладиштите међурезултате сложених упита које морате даље да обрадите. На пример, када креирате извештаје, можда ћете морати да креирате привремене табеле за чување резултата упита из неколико база података. Затим можете да генеришете коначни извештај покретањем упита према привременим табелама.
Други сценарио где су привремене табеле корисне је када су вам потребни резултати упита из једне табеле да бисте покренули други упит. Можете да ускладиштите резултате у привремену табелу, а затим да их референцирате у новом упиту. У суштини, користите привремену табелу као радну или бафер табелу за чување података који су вам потребни за обављање одређеног задатка.
Коришћење Темп табела у СКЛ Серверу
Можете да користите привремене табеле СКЛ Сервера за привремено складиштење и обраду података. Постоје две врсте привремених табела, локалне и глобалне. Локална привремена табела је видљива за везу у којој је креирана, док је глобална привремена табела видљива у свим везама.
Привремене табеле се аутоматски уништавају када прекинете везу са инстанцом сервера. Међутим, да бисте сачували меморију, увек их испустите након употребе.