Hướng dẫn viết một stored procedure

Thảo luận trong 'Kiến thức lập trình SQL & MySQL' bắt đầu bởi huongkiss, 13/2/14.

  1. huongkiss

    huongkiss

    Vip Member

    Tham gia ngày:
    12/2/14
    Bài viết:
    57
    Đã được thích:
    0
    Điểm thành tích:
    6
    Stored procedure đầu tiên khá đơn giản. Nó chỉ có chức năng duy nhất là lấy thông tin về tất cả các sản phẩm được lưu trong bảng products. Hãy xem xét đoạn mã dưới đây:

    CREATE PROCEDURE GetAllProducts()
    BEGIN
    SELECT * FROM products;
    END //
    DELIMITER ;

    Dòng đầu tiên bạn thấy là DELIMITER//. Dòng lệnh này thực sự không liện quan đến stored procedure. Phát biểu DELIMITER được dùng để thay đổi cú pháp phân cách chuẩn từ dấu “;” thành một dấu khác, trong trường hợp này là dấu “//”. Với việc làm này, bạn có thể viết được nhiều dòng SQL trong 1 stored procedure bằng việc sử dụng dấu “;” làm dấu phân cách dòng.
    Sau từ khóa END, bạn lại sử dụng dấu phân cách // để ra hiệu cho trình biên dịch biết là đã hết stored procedure. Dòng cuối cùng, đưa cú pháp phân cách trở về trạng thái “nguyên thủy”, tức dấu “;”.
    Để tạo 1 stored procedure mới, bạn sử dụng phát biểu CREATE PROCEDURE. Sau phát biểu CREATE PROCEDURE là tên của stored procedure mà bạn muốn đặt, trong ví dụ trên là GetAllProducts. Dĩ nhiên, tên của stored procedure ít nhiều mang tính gợi nhớ.
    Phần thân của stored procedure được bắt đầu bởi cặp từ khóa BEGIN và END. Các câu lệnh SQL được đặt trong block này. Chúng ta sẽ phân tích chi tiết trong các phần sau. Đến đây, bạn đã hoàn tất việc tạo 1 stored procedure. Tiếp theo, chúng ta cần biết cách thức để triệu gọi 1 stored procedure trong 1 ứng dụng hay trong command line của MySQL.
    gọi stored procedure
    gọi 1 stored procedure, chúng ta sử dụng câu lệnh SQL sau:
    Mã:
    CALL STORED_PROCEDURE_NAME()
    Ví dụ với stored procedure vừa tạo ở trên:
    Mã:
    CALL GetAllProducts();
     
    Cảm ơn đã xem bài:

    Hướng dẫn viết một stored procedure

  2. admin

    admin Phạm Công Sơn Thành viên BQT

    Tham gia ngày:
    22/5/13
    Bài viết:
    4,616
    Đã được thích:
    1,130
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Oh hay đó bạn, đơn giản mà có nhiều người chưa biết cái này.
     
  3. quangtien

    quangtien Thành Viên Mới

    Tham gia ngày:
    22/2/14
    Bài viết:
    3
    Đã được thích:
    0
    Điểm thành tích:
    0
    vi dụ mình muốn lọc dữ liêu theo tham số người dùng nhập vào, không phải lấy hết dữ liệu từ 1 bảng thì làm sao , admin ?
     


Like và Share ủng hộ ITSEOVN