18/03/2021, 09:45

[MySQL - MariaDB] Hướng dẫn sử dụng Store Procedure

Chắc hẵn mọi người cũng đã nắm được các cách làm việc với procedure strong SQL Server rồi đúng không? Hôm nay mình sẽ hướng dẫn các bạn tạo một procedure cực kỳ cơ bản trong MySQL, cụ thể là MariaDB. MariaDB là hệ quản trị cơ sở dữ liệu miễn phí được phát ...

Chắc hẵn mọi người cũng đã nắm được các cách làm việc với procedure strong SQL Server rồi đúng không? Hôm nay mình sẽ hướng dẫn các bạn tạo một procedure cực kỳ cơ bản trong MySQL, cụ thể là MariaDB.

MariaDB là hệ quản trị cơ sở dữ liệu miễn phí được phát triển từ hệ quản trị cơ sở dữ liệu mã nguồn mở MySQL, nhưng có độ tương thích và hiệu suất cao hơn. MariaDB ra đời nhằm mục đích là thay thế MySQL.
Sau đây mình sẽ gọi luôn là MariaDB nhé ! :))

Peocedure trong MariaDB có một chút khác biệt so với procedure trong SQL Server về cách khai báo biến cũng như cách trả về dữ liệu. Tuy nhiên, về tổng quan, nó không khác gì procedure trong SQL Server là mấy.

Khái niệm cũng nhiều rồi, thực hành thôi :) 

Dưới đây mình sẽ làm một procedure cơ bản thực hiện nhiệm vụ đăng nhập lấy param truyền vào là username và password. Kết quả trả về tương ứng với đăng nhập thành công và không thành công.
Bảng tbl_account sẽ gồm 2 trường là username và password;

Có 2 cách để có thể tạo được procedure trong MariaDB sử dụng PHPmyadmin.

Cách 1: Sử dụng mã lệnh SQl:

create-procedure-in-mysql-mariadb

Mã lệnh:

CREATE PROCEDURE `usp_login`(IN `pr_username` varchar(50), IN `pr_password` varchar(50)) 
BEGIN	
    
    DECLARE isExists INT DEFAULT -1;  

    SELECT COUNT(*) INTO isExists FROM tbl_account WHERE username=pr_username AND password=pr_password;
    
    IF(isExists >0) THEN
        SELECT 'Đăng nhập thành công !';
    ELSE
	SELECT 'Tên đăng nhập hoặc mật khẩu không đúng !';
    END IF;
    
END

Sau đó nhấn GO để thực thi. 

Cách 2: Sử dụng UI của PhpMyadmin: 

Khuyến cáo nên xài cách 2, bởi vì hàng free nên sẽ dễ dính lỗi cú pháp, mặc dù nhìn thì có vẻ đúng mà hóa ra lại không đúng đâu :).

Còn cách 1 nếu thực thi lệnh trên màn hình Terminal của Linux thì sẽ ngon lành hơn.

Trên đây là một ví dụ cơ bản về cách có thể xài procedure trong MariaDB. Nhưng có thể nói là trong procedure cũng chỉ có nhiêu đây cần làm quen và áp dụng nhiều thôi.

Chúc các bạn thành công !

HAPPY CODING <3<3<3

Tags: store procedure mysqlmysql procedure
0