MYSQL съхранени процедури - създаване, заявки и вмъкване на данни

Съдържание
Съхранена процедура (Store Procedure) е малък алгоритъм на SQL език, който се съхранява заедно с базата данни и позволява да се изпълняват задачи по тези данни.
Предимствата на съхранените процедури са:
- Те могат влизам от различни външни програми, ако е необходимо да се направи публичната структура на базата данни.
- Те могат повторна употреба следователно ще спестим време, като вече сме програмирани и тествани.
Използвайте mysql съхранени процедури с phpmyadmin
Ще започнем работата по създаване и запитване на съхранени процедури с инструмента phpmyadmin, но може да се използва всеки, който поддържа SQL заявки от MYSQL 5.0
В този случай ще вземем базата данни на автомобил или агенция за превозни средства.
1) Въвеждаме phpmyadmin и оттам към базата данни
Има 2 типа двигатели, които обработват данни в Mysql
  • MyISAM: двигателят по подразбиране, много бърз за заявки, не осигурява целостта на данните или референтната защита. Идеални системи с много заявки
  • InnoDB: осигурява референтна защита и цялост на данните, както и заключване на записи, идеално, ако много информация постоянно се вмъква, редактира или изтрива. Като цяло за съхранени процедури е по -добре да се използва InnoDB.

Изображението е изпратено

В раздела SQL създаваме първата си съхранена процедура за запитване за типовете превозни средства. Пишете ни в текстовото поле на sql.
CREATE PROCEDURE advis_vehicle_type () ---> име на процедурата
SELECT * FROM vehicle_type ---> SQL за разрешаване
Ако изпълним SQL заявката, ще получим съобщение за успех, когато процедурата е създадена.
За да видите процедурите, създадени от раздела SQL, се консултираме с командата SHOW PROCEDURE STATUS, която няма да показва всички съхранени процедури.
Сега ще покажем как да изпълним съхранената процедура с командата CALL процедура_име (Всеки език за програмиране има своя собствена библиотека за достъп до съхранена процедура, но всички те са сходни.

Изображението е изпратено

Тук можем да видим резултата от изпълнението на съхранената процедура CALL pa_vehiculo_type, тя върна резултата и никой не вижда какви команди са изпълнени.

Изображението е изпратено

В следния пример ще изброим превозни средства, но по марка процедурата ще бъде:
CREATE PROCEDURE pa_vehiculos_por_brand (маркирайте varchar (50))
ИЗБЕРЕТЕ * ОТ
превозни средства, марки
КЪДЕ vehiculos.brand = marks.id
И brand.brand = марка
Към името на процедурата добавяме променлива, за да можем да търсим пример за превозни средства с марка Honda
За да стартираме примера, наричаме съхранената процедура в раздел SQL
ПОЗВАНЕ pa_vehiculos_por_marca („Honda“)
ПОЗВАНЕ pa_vehiculos_por_marca („Ford“)
Можете също да използвате съхранените процедури за вмъкване на задачи, например процедура за записване на данни от клиент
СЪЗДАВАНЕ НА ПРОЦЕДУРА pa_cliente_insertar (
vname VARCHAR (64),
фамилия ВАРЧАР (64)
)
INSERT INTO client (име, фамилия) ЦЕННОСТИ (vname, фамилия);
За да го използваме, го наричаме, както следва
ПОЗВАНЕ pa_cliente_insertar („Хосе“, „Гонсалес“);
Друг може да бъде Проверете броя на провинциите
СЪЗДАВАНЕ НА ПРОЦЕДУРА `pa_provincias_cantidad` ()
ИЗБЕРЕТЕ БРОЙ (*) като провинции ОТ провинции
За премахване се използва всяка процедура ПРОЦЕДУРА ЗА ДРОП процедура_име
Обаждания към процедури от различни езици.
В PHP, като приемем, че данните идват от формуляр
$ mysqli = нов mysqli ("localhost", "root", "root");
$ mysqli-> select_db ("auto_agency");

$ mysqli-> заявка ("CALL pa_client_insert ('$ first name', '$ last name')");
Сега изпълняваме процедурата, съхранена в Java (кодът е съкратен)
conn = MySQL Connection.connect ("127,0,0,1", "root", "*******", "root");
CallableStatement Procedure = conn.prepareCall ("{CALL pa_customer_insert ('$ first name', '$ last name'))}");
Procedure.setString ("vname", $ name);
Procedure.setString ("фамилия", $ фамилия);
Procedure.execute ();
connM.commit ();
По този начин се показва, че едни и същи процедури са били използвани в различни среди и езици, по прозрачен за потребителя начин. Темата за процедурите е обширна, но всеки с познания по SQL ще може да проучи и постигне големи постижения с използването на съхранени процедури, като по този начин ще може да оптимизира своите проекти във времето и сигурността на данните.Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка
wave wave wave wave wave