1 Menguasai bahasa pengaturcaraan SQL dan spesifikasi pengaturcaraan yang disokong oleh DBMS arus perdana, dan menyeragamkan reka bentuk prosedur tersimpan; 🎜>
2. Dapat memahami fungsi dan prinsip pelaksanaan pelbagai jenis pencetus, dan mengesahkan keberkesanan pencetus; kemahiran yang diperlukan untuk menyelesaikan masalah kejuruteraan yang kompleks.(1) Cipta prosedur tersimpan sp_avggrade dan laksanakannya Fungsi untuk menanyakan purata skor pelajar dalam setiap kursus;
delimiter// CREATE PROCEDURE sp_avggrade() COMMENT '查询每门课程学生的平均成绩的功能' BEGIN SELECT cno as 课程号,avg(grade)as 平均成绩 FROM sc GROUP BY cno; end// delimiter;
call sp_avggrade();
3. Buat prosedur tersimpan dengan parameter input dan output
delimiter// CREATE PROCEDURE sp_course_avggrade(IN c_no CHAR(2)) COMMENT '通过输入课程编号参数查询指定课程编号的课程平均成绩的功能' BEGIN SELECT cno,AVG(grade) FROM sc WHERE cno=c_no; END// delimiter;
(2) memanggil prosedur tersimpan untuk mendapatkan bilangan pelajar dalam jabatan yang sepadan dalam bentuk pembolehubah yang dikembalikan. delimiter//
CREATE PROCEDURE sp_sdept_student2(IN _sdept CHAR(10),OUT num int)
BEGIN
SELECT COUNT(sno) INTO num
FROM student
WHERE _sdept = sdept;
END//
delimiter;
(1) Buat pencetus pada jadual pelajar untuk menyedari bahawa apabila rekod pelajar dipadamkan daripada jadual pelajar, tahap markah pelajar rekod dalam jadual skor Pemadaman bersama; SET @num=10;
CALL sp_sdept_student2('计科',@num);
SELECT @num AS '人数';
delimiter// CREATE TRIGGER delete_stu BEFORE DELETE ON student FOR EACH ROW BEGIN DELETE FROM sc WHERE sc.sno=old.sno; END// delimiter;
delimiter// CREATE TRIGGER scgrade BEFORE INSERT ON sc FOR EACH ROW BEGIN IF new.grade>100 or new.grade < 0 THEN SIGNAL SQLSTATE '45000' SET message_text='录入成绩不符合规定,拒绝插入'; END IF; END// delimiter;
Atas ialah kandungan terperinci Analisis pencetus dan contoh prosedur tersimpan pangkalan data MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!