MYSQL Saklı Yordamlar - Oluşturma, Sorgular ve Veri Eklemeleri

İçindekiler
Saklı yordam (Mağaza Yordamı), veritabanı ile birlikte saklanan ve bu veriler üzerinde görevlerin gerçekleştirilmesine izin veren SQL dilinde küçük bir algoritmadır.
Saklı yordamların avantajları şunlardır:
- Yapabilirler erişmek Veritabanı yapısını herkese açık hale getirme ihtiyacı varsa, farklı harici programlardan.
- Yapabilirler yeniden kullanmak bu nedenle önceden programlanmış ve test edilmiş olarak zamandan tasarruf edeceğiz.
phpmyadmin ile mysql saklı yordamları kullanın
Phpmyadmin aracı ile saklı yordamlar oluşturma ve sorgulama çalışmalarına başlayacağız ancak MYSQL 5.0'dan itibaren SQL sorgularını destekleyen herkes kullanılabilir.
Bu durumda bir araba veya araç acentesinin veritabanını alacağız.
1) phpmyadmin'e giriyoruz ve oradan veri tabanına giriyoruz.
Mysql'de verileri işleyen 2 tür motor vardır.
  • benimISAM: sorgular için çok hızlı olan varsayılan motor, veri bütünlüğü veya referans koruması sağlamaz. Birçok sorgu içeren ideal sistemler
  • InnoDB: referans koruması ve veri bütünlüğünün yanı sıra kayıt kilitleme sağlar, sürekli olarak çok fazla bilgi ekleniyor, düzenleniyor veya siliniyorsa idealdir. Genellikle saklı yordamlar için InnoDB kullanmak daha iyidir.

Resim gönderildi

SQL sekmesinde araç tiplerini sorgulamak için ilk saklı prosedürümüzü oluşturuyoruz. sql metin alanına bize yazın.
PROSEDÜR OLUŞTURUN Consult_vehicle_type () ---> prosedür adı
SEÇ * FROM araç_type ---> SQL çözümlemek için
SQL sorgusunu çalıştırırsak, prosedür oluşturulduğunda bir başarı mesajı alırız.
SQL sekmesinden oluşturulan yordamları görmek için tüm saklı yordamları göstermeyecek olan PROCEDURE STATUS GÖSTER komutuna başvuruyoruz.
Şimdi komut ile saklı yordamın nasıl yürütüleceğini göstereceğiz. ÇAĞRI prosedürü_adı (Her programlama dilinin saklı bir yordama erişmek için kendi kitaplığı vardır, ancak hepsi benzerdir.

Resim gönderildi

Burada CALL saklı yordamı pa_vehiculo_type yürütmenin sonucunu görebiliriz, sonucu döndürdü ve kimse hangi komutların yürütüldüğünü görmez.

Resim gönderildi

Aşağıdaki örnekte araçları listeleyeceğiz ancak markaya göre prosedür şöyle olacaktır:
PROSEDÜR OLUŞTUR pa_vehiculos_por_brand (varchar (50) olarak işaretleyin)
SEÇ * DAN
araçlar, markalar
NEREDE vehiculos.brand = mark.id
VE markalar.marka = marka
Honda marka araçlara örnek arama yapabilmek için prosedürün adına bir değişken ekliyoruz.
Örneği çalıştırmak için bir SQL sekmesinde saklı yordamı çağırıyoruz.
ARA pa_vehiculos_por_marca (“Honda”)
ARA pa_vehiculos_por_marca (“Ford”)
Saklı yordamları, görevler eklemek için de kullanabilirsiniz, örneğin bir müşteriden veri kaydetmek için bir yordam
PROSEDÜR OLUŞTUR pa_cliente_insertar (
vname VARCHAR (64),
soyadı VARCHAR (64)
)
INSERT INTO client (adı, soyadı) DEĞERLER (vname, soyad));
Kullanmak için şöyle diyoruz
ÇAĞRI pa_cliente_insertar ('Jose', 'Gonzales');
Bir diğeri de il sayısını kontrol edebilir
PROSEDÜR OLUŞTUR `pa_provincias_cantidad` ()
İLLERDEN İLLER İÇİN SAYI SEÇİN (*)
Herhangi bir prosedürü ortadan kaldırmak için kullanılır BIRAKMA PROSEDÜRÜ prosedür_adı
Farklı dillerden prosedürlere çağrılar.
İçinde PHP, verilerin bir formdan geldiğini varsayarsak
$ mysqli = yeni mysqli ("localhost", "root", "root");
$ mysqli-> select_db ("auto_agency");

$ mysqli-> sorgusu ("pa_client_insert ÇAĞRI ('$ ad', '$ soyadı')");
Şimdi depolanan prosedürü uyguluyoruz Java (kod kısaltıldı)
conn = MySQL Connection.connect ("127,0,0,1", "root", "********", "root");
CallableStatement Prosedürü = conn.prepareCall ("{CALL pa_customer_insert ('$ ad', '$ soyadı'))}");
Prosedür.setString ("vname", $ adı);
Prosedür.setString ("soyadı", $ soyadı);
Prosedür.execute ();
connM.commit();
Bu sayede aynı prosedürlerin farklı ortamlarda ve dillerde kullanıldığı, kullanıcı için şeffaf bir şekilde gösterilmektedir. Prosedür konusu kapsamlıdır, ancak SQL bilgisi olan herkes, saklı prosedürlerin kullanımıyla araştırma yapabilir ve büyük başarılar elde edebilir, böylece projelerini zaman ve veri güvenliği açısından optimize edebilir.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave