Преглед садржаја
Похрањена процедура (Сторе Процедуре) је мали алгоритам на СКЛ језику који се складишти заједно са базом података и омогућава извршавање задатака на тим подацима.Предности ускладиштених процедура су:
- Могу приступа из различитих спољних програма, ако постоји потреба да се структура базе података учини јавном.
- Могу поновна употреба стога ћемо уштедети време ако смо већ програмирани и тестирани.
Користите мискл ускладиштене процедуре, са пхпмиадмин
Покренућемо посао стварања и постављања упита о складиштеним процедурама помоћу алата пхпмиадмин, али свако ко подржава СКЛ упите од МИСКЛ 5.0 може да се користи
У овом случају узећемо базу података о аутомобилу или агенцији за возила.
1) Уносимо пхпмиадмин и одатле у базу података
Постоје 2 врсте мотора који обрађују податке у Мискл -у
- МиИСАМ: подразумевани механизам, веома брз за упите, не обезбеђује интегритет података или референтну заштиту. Идеални системи са много упита
- ИнноДБ: пружа референтну заштиту и интегритет података, као и закључавање записа, идеално ако се стално убацује, уређује или брише много информација. Опћенито, за похрањене процедуре боље је користити ИнноДБ.
На картици СКЛ креирамо прву ускладиштену процедуру за испитивање типова возила. Напишите нам у текстуално поље скл.
ЦРЕАТЕ ПРОЦЕДУРЕ адвис_вехицле_типе () ---> назив процедуре
СЕЛЕЦТ * ФРОМ вехицле_типе ---> СКЛ за рјешавање
Ако извршимо СКЛ упит, добићемо поруку о успеху када се процедура креира.
Да бисмо видели процедуре креиране са СКЛ картице, консултујемо наредбу СХОВ ПРОЦЕДУРЕ СТАТУС, која неће приказати све ускладиштене процедуре.
Сада ћемо помоћу наредбе показати како извршити ускладиштену процедуру ЦАЛЛ процедура_наме (Сваки програмски језик има своју библиотеку за приступ похрањеној процедури, али сви су слични.
Овде можемо видети резултат извршавања ускладиштене процедуре ЦАЛЛ па_вехицуло_типе, вратио је резултат и нико не види које су команде извршене.
У следећем примеру ћемо навести возила, али према марки, поступак би био:
ЦРЕАТЕ ПРОЦЕДУРЕ па_вехицулос_пор_бранд (ознака варцхар (50))
СЕЛЕЦТ * ФРОМ
возила, марке
ГДЕ вехицулос.бранд = маркс.ид
И марке.бранд = бренд
У назив поступка додајемо променљиву да бисмо могли да тражимо пример возила марке Хонда
Да бисмо покренули пример, позивамо ускладиштену процедуру на СКЛ картици
ПОЗОВИТЕ па_вехицулос_пор_марца („Хонда“)
ПОЗОВИТЕ па_вехицулос_пор_марца („Форд“)
Такође можете користити ускладиштене процедуре за уметање задатака. Пример процедуре за снимање података од корисника
ЦРЕАТЕ ПРОЦЕДУРЕ па_цлиенте_инсертар (
внаме ВАРЦХАР (64),
презиме ВАРЦХАР (64)
)
ИНСЕРТ ИНТО цлиент (име, презиме) ВРЕДНОСТИ (име, презиме);
Да бисмо га користили, називамо га на следећи начин
ПОЗОВИТЕ па_цлиенте_инсертар ('Јосе', 'Гонзалес');
Други би могао бити Проверите број провинција
ЦРЕАТЕ ПРОЦЕДУРЕ `па_провинциас_цантидад` ()
СЕЛЕЦТ ЦОУНТ (*) као провинције ИЗ провинција
За уклањање се користи било који поступак ДРОП ПОСТУПАК име_процедуре
Позиви на процедуре са различитих језика.
Ин ПХП, под претпоставком да подаци потичу из обрасца
$ мискли = нови мискли ("лоцалхост", "роот", "роот");
$ мискли-> селецт_дб ("ауто_агенци");
$ мискли-> упит ("ЦАЛЛ па_цлиент_инсерт ('$ фирст наме', '$ ласт наме')");
Сада извршавамо процедуру ускладиштену у Јава (код је скраћен)
цонн = МиСКЛ Цоннецтион.цоннецт ("127,0,0,1", "роот", "*******", "роот");
ЦаллаблеСтатемент Процедуре = цонн.препареЦалл ("{ЦАЛЛ па_цустомер_инсерт ('$ прво име', '$ презиме'))}");
Процедуре.сетСтринг ("внаме", $ наме);
Процедуре.сетСтринг ("презиме", $ презиме);
Процедуре.екецуте ();
цоннМ.цоммит ();
На овај начин се показује да су исте процедуре коришћене у различитим окружењима и језицима, на транспарентан начин за корисника. Тема поступка је опсежна, али свако са знањем СКЛ -а моћи ће истражити и постићи велика постигнућа кориштењем похрањених процедура, чиме ће моћи оптимизирати своје пројекте у времену и сигурности података.Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен