Похраните процедуре са параметрима из ПХП -а

Преглед садржаја
Похрањене процедуре су врло корисне за инкапсулацију операција базе података и уштеду времена за развој.
Када требате да одржавате базу података са много трансакција и извесном поверљивошћу, можете имати тим програмера који прави код не знајући каква је база података.
За ово ћемо користити ускладиштене процедуре
Пример
Израђујемо базу података за некретнине и табелу за некретнине (користимо неколико поља како не бисмо генерисали опсежан и збуњујући код)
 НАПРАВИ ТАБЕЛУ АКО НЕ ПОСТОЈИ `некретнина` (` ид` инт (11) НОТ НУЛЛ АУТО_ИНЦРЕМЕНТ, `фурнитуретипе` варцхар (100) ДЕФАУЛТ '0',` прице` децимал (10,2) ДЕФАУЛТ '0.00', `десцриптион` текст, ПРИМАРНИ КЉУЧ (`ид`)) МОТОР = МиИСАМ АУТО_ИНЦРЕМЕНТ = 195 ЗАДЊА КАРТА = латин1; 

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

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

[цолор = # 000000] Овде шаљемо информације у датотеку саве.пхп која ће позвати ускладиштену процедуру и то ће сачувати податке. [/ цолор]
[цолор = # 000000] Да бисмо то урадили, морамо претходно креирати код везе са базом података. [/ цолор]
[цолор = # 000000] Правимо датотеку цонфиг.пхп [/ цолор]

<? пхп

// Низ везе базе података

$ линк = мискл_цоннецт ('лоцалхост', 'корисник', 'лозинка');

// веза са базом података

иф (! $ линк) {

дие ('Није повезан:'. мискл_еррор ());

}

// Одабир базе података

$ дб = 'дбИнмобилиариа';

иф (! мискл_селецт_дб ($ дб)) {

дие ('Грешка:'. мискл_еррор ());

}?> вар13 ->

На слици можемо видети како се складиштена процедура позива кроз СКЛ израз ЦАЛЛ

ЦАЛЛ невинмуебле (параметер1, параметер2, …)

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

ЦРЕАТЕ процедуре фурнитурелист (типе варцхар (150))

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

Такође можемо креирати ускладиштену процедуру за брисање података где ћемо послати ид као параметар
[цолор = # 000000] ЦРЕАТЕ процедура за брисање својства (ид својства ИНТ) [/ цолор]
[цолор = # 000000]СЕЛЕЦТ * ФРОМ некретнине ВХЕРЕ ид = ИД некретнине[/Боја]
Затим чувану процедуру зовемо на следећи начин
ПОЗОВИ избриши својство (172)
Занимљива ствар у вези са овим је да бисмо, ако смо администратори базе података врло сложеног система, програмерима могли ставити на располагање само списак процедура, а не и структуру базе података, што обезбеђује већу поверљивост.
Омогућавајући им интеракцију са подацима, али не и са структуром, чак и да могу само читати, али не и мењати. Ово би био проблем за велике системе база података са много људи у интеракцији где су безбедност и поверљивост важни.
Најпопуларније базе података које подржавају ускладиштене процедуре су мискл, фиребирд, мс скл сервер, орацле, дб2 постгрескл, сибасе (први је створио језик трансакције базе података за скл под називом Трансацт-СКЛ).Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен
wave wave wave wave wave