-
BUAT PROSEDUR
Buat prosedur tersimpan yang menyimpan tabel dalam database MySQL.
BUAT FUNGSI
Buat fungsi yang ditentukan pengguna, terutama prosedur tersimpan yang mengembalikan data.
MENGUBAH PROSEDUR
Perubahan pada prosedur tersimpan yang telah ditentukan sebelumnya yang dibuat dengan CREATE PROCEDURE tidak mempengaruhi prosedur tersimpan terkait atau fungsionalitas tersimpan. .
MENGUBAH FUNGSI
Perubahan pada prosedur tersimpan yang telah ditentukan sebelumnya yang dibuat dengan CREATE FUNCTION tidak memengaruhi prosedur tersimpan atau fungsi tersimpan terkait. .
PROSEDUR JATUH
Hapus satu atau lebih prosedur tersimpan dari tabel MySQL.
FUNGSI JATUH
Hapus satu atau lebih fungsi tersimpan dari tabel MySQL.
TAMPILKAN PROSEDUR PEMBUATAN
Mengembalikan teks dari prosedur tersimpan yang telah ditentukan sebelumnya yang dibuat menggunakan CREATE PROCEDURE. Deklarasi ini merupakan ekstensi MySQL untuk spesifikasi SQL:2003.
TAMPILKAN FUNGSI BUAT
Mengembalikan teks dari prosedur tersimpan yang telah ditentukan sebelumnya yang dibuat menggunakan CREATE FUNCTION. Deklarasi ini merupakan ekstensi MySQL untuk spesifikasi SQL:2003.
TAMPILKAN STATUS PROSEDUR
Mengembalikan karakteristik prosedur tersimpan yang telah ditentukan sebelumnya, termasuk nama, tipe, pembuat, tanggal pembuatan, dan tanggal modifikasi. Deklarasi ini merupakan ekstensi MySQL untuk spesifikasi SQL:2003.
TAMPILKAN STATUS FUNGSI
Mengembalikan karakteristik fungsi tersimpan yang telah ditentukan sebelumnya, termasuk nama, jenis, pembuat, tanggal pembuatan, dan tanggal perubahan. Deklarasi ini merupakan ekstensi MySQL untuk spesifikasi SQL:2003.
PANGGILAN
Panggil prosedur tersimpan yang telah ditentukan sebelumnya yang dibuat menggunakan CREATE PROCEDURE.
MULAI... AKHIR
Berisi sekumpulan beberapa pernyataan yang dieksekusi.
MENYATAKAN
Digunakan untuk menentukan variabel lokal, lingkungan, prosesor, dan pointer.
MENGATUR
Digunakan untuk mengubah nilai variabel server lokal dan global.
PILIH... KE
Kolom yang digunakan untuk menyimpan variabel tampilan.
MEMBUKA
Digunakan untuk membuka pointer.
MENGAMBIL
Gunakan penunjuk tertentu untuk mendapatkan kolom berikutnya.
MENUTUP
Digunakan untuk menutup dan membuka pointer.
JIKA
Pernyataan if-then-else-end if.
KASUS... KAPAN
Struktur pernyataan kasus
LINGKARAN
Struktur loop sederhana; dapat keluar menggunakan pernyataan LEAVE.
MENINGGALKAN
Digunakan untuk keluar dari pernyataan IF, CASE, LOOP, REPEAT dan WHILE.
ITERASI
Digunakan untuk memulai kembali siklus.
MENGULANG
Loop diuji di akhir.
KETIKA
Sebuah loop yang diuji di awal.
PENGEMBALIAN
Mengembalikan nilai prosedur tersimpan.
MySQL 5.0 mendukung pernyataan prosedur tersimpan.
1. Buat prosedur tersimpan
1.Tata bahasa dasar:
buat prosedur sp_name()
mulai
.........
akhir
2.Parameter lewat
2. Panggil prosedur tersimpan
1. Sintaks dasar: panggil sp_name()
Catatan: Tanda kurung harus ditambahkan setelah nama prosedur tersimpan, meskipun prosedur tersimpan tidak memiliki parameter yang diteruskan
3. Hapus prosedur tersimpan
1.Tata bahasa dasar:
prosedur drop sp_name//
2. Tindakan pencegahan
(1) Anda tidak dapat menghapus prosedur tersimpan lainnya dalam satu prosedur tersimpan, Anda hanya dapat memanggil prosedur tersimpan lainnya
4. Blok, kondisi, loop
1. Definisi blok, umum digunakan
mulai
...
akhir;
Anda juga dapat memberikan alias pada blok tersebut, seperti:
label:mulai
...........
label akhir;
Anda dapat menggunakan label tinggalkan; untuk keluar dari blok dan mengeksekusi kode setelah blok.
2. Pernyataan bersyarat
jika kondisi maka
penyataan
kalau tidak
penyataan
berakhir jika;
3. Pernyataan lingkaran
(1).sementara perulangan
[label:] WHILE ekspresi LAKUKAN
pernyataan
AKHIR SEMENTARA [label];
(2).lingkaran lingkaran
[label:] lingkaran
pernyataan
LOOP AKHIR [label];
(3).ulangi sampai putaran
[label:] ULANGI
pernyataan
SAMPAI ekspresi
AKHIR ULANGI [label];
5. Perintah lain yang umum digunakan
1.tampilkan status prosedur
Menampilkan informasi dasar dari semua prosedur tersimpan dalam database, termasuk database tempatnya, nama prosedur tersimpan, waktu pembuatan, dll.
2.tunjukkan prosedur pembuatan sp_name
Sintaks pembuatan prosedur tersimpan:
BUAT PROSEDUR procedure_name ([parameter[,...])
[BAHASA SQL]
[ [TIDAK] DETERMINISTIK ]
[{BERISI SQL|MODIFIKASI DATA SQL|BACA DATA SQL|TIDAK ADA SQL}]
[Keamanan SQL {DEFINER|INVOKER}]
[COMMENT komentar_string]
prosedur_pernyataan
Anda dapat menggunakan SHOW PROCEDURE STATUS atau SHOW CREATE PROCEDURE untuk melihat informasi prosedur tersimpan. Selain itu, tabel sistem INFORMATION_SCHEMA.ROUTINES juga berisi beberapa informasi tentang prosedur tersimpan. Demikian pula, fungsi juga dapat dilihat dengan cara yang sama (SHOW FUNCTION STATUS)
Penciptaan fungsi
BUAT FUNGSI nama_fungsi (parameter[,...])
Tipe data KEMBALI
[BAHASA SQL]
[ [TIDAK] DETERMINISTIK ]
[ {BERISI SQL |. TANPA SQL |. MEMODIFIKASI DATA SQL |. BACA DATA SQL} ]
[Keamanan SQL {DEFINER|INVOKER}]
[COMMENT komentar_string]
Badan pernyataan
Fungsinya pada dasarnya sama dengan prosedur tersimpan. Perbedaan utamanya adalah:
1. Untuk menggunakan RETURNS untuk menentukan tipe pengembalian
2. Fungsi harus mengembalikan nilai dan menggunakan RETURN di badan pernyataan (catatan: gunakan RETURNS untuk menentukan tipe pengembalian dan RETURN untuk nilai pengembalian)
3. Parameter tidak membedakan IN dan OUT, semuanya bertipe IN.
contoh:
BUAT FUNGSI cust_status(dalam_status CHAR(1))
MENGEMBALIKAN VARCHAR(20)
MULAI MENYATAKAN long_status VARCHAR(20);
JIKA in_status="O" MAKA SET long_status="Lewat batas waktu";
ELSEIF in_status="U" LALU SET long_status="Up to date";
ELSEIF in_status="N" LALU SET long_status="baru";
AKHIR JIKA;
KEMBALI(status_panjang);
AKHIR;
Panggilan:
PILIH cust_status('O');
pemicu
BUAT [DEFINER={pengguna|CURRENT_USER}] nama_pemicu
{SEBELUM|SETELAH} {UPDATE|MASUKKAN|HAPUS}
PADA nama_tabel
UNTUK SETIAP BARIS
trigger_statement
Artinya: Pernyataan operasi trigger_statements dipicu sebelum (sebelum) atau setelah (setelah) operasi pembaruan, penyisipan, dan penghapusan dilakukan pada tabel nama_tabel.
contoh:
mysql> BUAT akun PEMICU_saldo_au
SETELAH UPDATE PADA akun_saldo UNTUK SETIAP BARIS
MULAI
MENYATAKAN tiruan INT;
JIKA BARU.saldo<0 MAKA
SETEL BARU.saldo=NULL;
AKHIR JIKA;
AKHIR
Pemicu di atas artinya: setelah memperbarui tabel akun_saldo, jika nilai saldo yang diperbarui kurang dari 0, ubah menjadi NULL.
Catatan: Jika OLD.balance berarti nilai asli sebelum diupdate