Giới Thiệu Về Stored Procedure Trong MySQL (P.4) Parameters Trong ...
Có thể bạn quan tâm
- Trang chủ
- Giới thiệu
- Lịch
Header Ads Widget
Trang chủMYSQLGiới thiệu về stored procedure trong MySQL (P.4) Parameters trong Stored Procedures Giới thiệu về stored procedure trong MySQL (P.4) Parameters trong Stored Procedures tháng 6 04, 2012
Trong phần này, bạn sẽ học cách viết 1 stored procedures với parameter. Tôi cũng sẽ cung cấp cho bạn 1 vài ví dụ về stored procedure, qua đó giúp bạn hiểu sâu hơn về parameter trong stored procudes. Hầu hết các stored procedures đều có param. Param làm cho stored procedure trở nên linh động và hữu dụng hơn. Trong MySQL, 1 param thuộc 1 trong 3 mode sau: IN, OUT và INOUT. IN: bất cứ sự thay đổi giá trị nào lên param này bên trong stored procedure đều không có kết quả. Nghĩa là param vẫn giữ nguyên giá trị của nó sau khi ra khỏi stored procedure. Ví dụ, bạn truyền vào stored procedure GetAll 1 param có tên Id với giá trị là 10. Ngay cả khi trong stored procedure GetAll, bạn có cố tình thay đổi giá trị của param Id thì giá trị của nó sau khi thực thi stored procedure vẫn là 10.
OUT: cho phép stored procedure thay đổi giá trị của param và trả nó về chương trình gọi.
INOUT: kết hợp giữa 2 mode trên. Bạn có thể truyền 1 param dạng này vào stored procedure và nhận lại 1 giá trị mới.Cú pháp để khai báo param trong stored procedure: Mã: MODE param_name param_type(param_size) MODE có thể là IN, OUT hay INOUT tùy thuộc vào mục đích sử dụng của bạn. Param_name là tên của param. Tên của param không nên trùng với tên của column hay table và phải tuân theo quy tắt đặt tên cho param. Theo sau tên param là kiểu param và kích cỡ của nó. Mỗi param được ngăn cách bởi dấu “,” nếu stored procedure có nhiều hơn 1 param. Trong ví dụ này, stored procedure có nhiệm vụ lấy các thông tin của tất cả các office ở 1 country nào đó. Mã: DELIMITER // CREATE PROCEDURE GetOfficeByCountry(IN countryName VARCHAR(255)) BEGIN SELECT city, phone FROM offices WHERE country = countryName; END // DELIMITER ; Bạn có thể thấy, countryName được dùng như 1 param kiểu IN. Kiểu dữ liệu của countryName là varchar và kích thước là 255. Trong phần thân của stored procedure, ta nhận được thông tin của tất cả các office trong country được xác định bởi param countryName. Giả sử bạn muốn nhận được thông tin về các office ở USA, bạn gọi stored procedure như sau: Mã: CALL GetOfficeByCountry('USA') Tương tự, nếu muốn lấy thông tin của tất cả các văn phòng nằm ở France, gán giá trị của countryName=”France” Mã: CALL GetOfficeByCountry(‘France’) Ví dụ thứ 2, ta sẽ viết 1 stored procedure để tính số lượng các order theo theo từng loại order riêng biệt được xác định bằng chính trạng thái của order đó, ví dụ : shipped, resolverd, cancelled, on hold, disputed hay in process Mã: DELIMITER $$ CREATE PROCEDURE CountOrderByStatus( IN orderStatus VARCHAR(25), OUT total INT) BEGIN SELECT count(orderNumber) INTO total FROM orders WHERE status = orderStatus; END$$ DELIMITER ; Stored procedure CountOrderByStatus có 2 param: orderStatus param có kiểu IN,. Total param có kiểu OUT. Để lấy số lượng order theo trạng thái shipped, ta sử dụng phát biểu: Mã: CALL CountOrderByStatus('Shipped',@total); SELECT @total AS total_shipped; Lấy số lượng order ở trạng thái “in process”: Mã: CALL CountOrderByStatus('in process',@total); SELECT @total AS total_in_process; Store procedure thứ 3 dùng để minh họa cho trường hợp param là INOUT. Store procedure này có chức năng in hoa (capitalize) các ký tự đầu tiên của 1 từ trong chuỗi, sau đó trả về cho chương trình gọi thông qua chính param vừa được truyền vào: Mã: DELIMITER $$ CREATE PROCEDURE `Capitalize`(INOUT str VARCHAR(1024)) BEGIN DECLARE i INT DEFAULT 1; DECLARE myc, pc CHAR(1); DECLARE outstr VARCHAR(1000) DEFAULT str; WHILE i <= CHAR_LENGTH(str) DO SET myc = SUBSTRING(str, i, 1); SET pc = CASE WHEN i = 1 THEN ' ' ELSE SUBSTRING(str, i - 1, 1) END; IF pc IN (' ', '&', '''', '_', '?', ';', ':', '!', ',', '-', '/', '(', '.') THEN SET outstr = INSERT(outstr, i, 1, UPPER(myc)); END IF; SET i = i + 1; END WHILE; SET str = outstr; END$$ DELIMITER ; Cách gọi capitalize trong stored procedure: Mã: SET @str = 'mysql stored procedure tutorial'; CALL Capitalize(@str); SELECT @str; Chuỗi trả về thông qua @str: ‘Mysql Stored Procedure Tutorial’ Tags: MYSQL
Admin: Liên
Nhận xét
Đăng nhận xét
Bài hay xem
Cách tạo Qr code đơn giản sử dụng Google Chart API
tháng 7 01, 2023Thay đổi phiên bản PHP trong Laragon
tháng 8 30, 2024
Tìm dữ liệu bị trùng lặp trong câu lệnh SQL
tháng 5 04, 2015
Cài đặt MongoDB và cấu hình
tháng 8 13, 2020
Thiết kế giao diện UI Python với PyQT5
tháng 8 01, 2021
Đóng gói chương trình với PyInstaller
tháng 7 01, 2021
Cách lấy token full quyền Facebook
tháng 12 04, 2020
Thay Icon và tạo file APK
tháng 3 07, 2021
Các bước để chạy thử nghiệm (internal test) trên google play trước khi xuất bản app
tháng 6 03, 2024Docker và triển khai và chạy các ứng dụng trong các container
tháng 12 07, 2025Liên kết
Nhãn
- Amazon
- Bài viết
- Blogspot
- CodeIgniter
- Github
- Html - Css - Jquery
- Javascript
- Joomla
- Laravel
- Linux Server
- MongoDB
- MYSQL
- Nodejs
- Phần mềm
- PHP
- Python
- React-Native
- ReactJs
- Wordpress
Language
Liên kết
- Fchat
- SaleKit
- SaleMall
- Sự Kiện

Phiên bản mới sẽ giúp bạn tối ưu hiệu quả kinh doanh, tăng doanh thu bán hàng
Popular Posts
Cách lấy token full quyền Facebook
tháng 12 04, 2020
Cách tạo Qr code đơn giản sử dụng Google Chart API
tháng 7 01, 2023
Đóng gói chương trình với PyInstaller
tháng 7 01, 2021
Tìm dữ liệu bị trùng lặp trong câu lệnh SQL
tháng 5 04, 2015
Thiết kế giao diện UI Python với PyQT5
tháng 8 01, 2021
Tạo menu đa cấp, multi-level menu đệ quy trong PHP
tháng 9 28, 2016 Created By LiênMenu Footer Widget
- Xưởng nội thất My Home
- Chatbot
- Automation Marketing
- CRM Software
- Cashback
- Push Notification
Từ khóa » Gọi Procedure Trong Mysql
-
TÌM HIỂU VỀ STORED PROCEDURE TRONG MYSQL - Viblo
-
Mysql Stored Procedure - Viblo
-
Stored Procedure Trong MySQL - STDIO
-
Tạo MySQL Stored Procedure đầu Tiên
-
Truyền Tham Số Vào Mysql Stored Procedure
-
Hướng Dẫn Cơ Bản Về Stored Procedure Trong MySQL | Gextend
-
[Bài đọc] Tạo Store Procedure Trong MySql Với Tham Số - Học PHP
-
Bài 1 - Giới Thiệu Và Tạo Mysql Stored Procedure - Nongdanit
-
Stdio, Tìm Hiểu Về Stored Procedure Trong Mysql
-
Bài 5: Gọi Procedure Trong MySQL Trên Python
-
[Thực Hành] Store Procedure
-
Mysql Stored Procedure Là Gì? - Minh Quan Doan
-
Bài 2 - Biến Và Tham Số Trong Mysql Stored Procedure - Nongdanit
-
MySQL Procedure Là Gì?