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
    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
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,884
    Đã được thích:
    1,194
    Đ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
    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 ?
     


Chủ để tương tự : Hướng dẫn
Diễn đàn Tiêu đề Date
Kiến thức lập trình SQL & MySQL Hướng dẫn generate script backup file .sql tất cả databases sql server 2014 15/4/17
Kiến thức lập trình SQL & MySQL Hướng dẫn cách tạo stored procedure chứa nhiều activity trong sql server 13/2/14
Kiến thức lập trình SQL & MySQL Cách convert datetime dạng dd/MM/YYYY hh:mm:ss trong SQL server 21/11/17
Kiến thức lập trình SQL & MySQL Tự Học Sql Server. Hãy Dành 10 Phút Mỗi Ngày, Bạn Sẽ Thành Công Với Sql 6/4/16