intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Thủ tục lưu trữ và Hàm - Store Procedures

Chia sẻ: Kieu Thu Trang | Ngày: | Loại File: PDF | Số trang:46

120
lượt xem
13
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Định nghĩa thủ tục lưu trữ,hàm Ưu điểm của thủ tục lưu trữ,hàm Tạo lập thực thi thủ tục lưu trữ,hàm Tham số trong thủ tục lưu trữ,hàm Biến cục bộ Cấu trúc điều khiển .Định nghĩa thủ tục lưu trữ, hàm Là một nhóm các câu lệnh Được biên dịch trước → thực hiện một nhiệm vụ cụ thể. Được viết bởi:

Chủ đề:
Lưu

Nội dung Text: Thủ tục lưu trữ và Hàm - Store Procedures

  1. Thủ tục lưu trữ và Hàm Store Procedures
  2. Nội dung Định nghĩa thủ tục lưu trữ,hàm Ưu điểm của thủ tục lưu trữ,hàm Tạo lập thực thi thủ tục lưu trữ,hàm Tham số trong thủ tục lưu trữ,hàm Biến cục bộ Cấu trúc điều khiển
  3. Định nghĩa thủ tục lưu trữ, hàm  Là một nhóm các câu lệnh  Được biên dịch trước → thực hiện một nhiệm vụ cụ thể.  Được viết bởi: − Người phát triển CSDL. − DBA – Database Administrator  Hỗ trợ cho công việc quản trị CSDL
  4. Thuận lợi Lập trình theo module Thực thi nhanh hơn các lệnh T-SQL Làm giảm lưu lượng trên mạng Tăng cường bảo mật
  5. Xem các thủ tục lưu trữ của một database select routine_type, routine_name from information_schema.routines where routine_schema='csdl_qldthi';
  6. Khai báo thủ tục CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body
  7. Khai báo hàm CREATE [DEFINER = { user | CURRENT_USER }] FUNCTION sp_name ([func_parameter[,...]]) RETURNS type [characteristic ...] routine_body
  8. Ý nghĩa các tham số Trong đó: proc_parameter: là kiểu của tham số [ IN | OUT | INOUT ] param_name type type: Kiểu dữ liệu hợp lệ trong MySQL routine_body: Những câu lệnh hợp lệ
  9. Khai báo thủ tục – ví dụ DELIMITER $$ DROP PROCEDURE IF EXISTS `Hello` $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `Hello`() BEGIN select 'Hello World'; END $$ DELIMITER ;
  10. Gọi thủ tục CALL sp_name([parameter[,...]]) CALL sp_name[()] Ví dụ CALL Hello() CALL Hello('Marry')
  11. Tham số trong thủ tục lưu trữ,hàm Làm cho các chương trình mềm dẻo hơn và hữu dụng hơn Được đặt trong cặp dấu ngoặc đơn sau thủ tục với cú pháp: mode parameter_name datatype Lưu ý: Mode có 3 giá trị IN, OUT, INOUT riêng đối với function chỉ có tham số kiểu IN
  12. Các kiểu tham số Có 3 kiểu tham số: Chỉ đọc (Read-only) (mặc định) Chỉ ghi (Write – only) Vừa đọc vừa ghi (read - write)
  13. Khai báo thủ tục - vd1 DELIMITER $$ DROP PROCEDURE IF EXISTS `Hello_in` $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `Hello_in`(chao varchar(100)) BEGIN set chao = 'Daisy'; select concat('Hello ',chao); END $$ DELIMITER ;
  14. Gọi thủ tục set @name='Marry'; CALL Hello_in(@name); select @name; Câu hỏi: Thực thi từng câu query Nhận xét sự thay đổi của biến @name???
  15. Khai báo hàm – vd1 DELIMITER $$ DROP FUNCTION IF EXISTS `test_baitap`.`test_f` $$ CREATE FUNCTION `test_baitap`.`test_f` (name varchar(50)) RETURNS varchar(50) BEGIN declare str1 varchar(50); select concat('hello ',name) into str1; return str1; END $$ DELIMITER ;
  16. Gọi hàm – vd1 SELECT test_f('mary') Hoặc Set @a =``; Set @a:=test_f('mary'); Hoặc Set @a=``; select @a:= test_f('mary');
  17. Khai báo thủ tục – ví dụ 2 DELIMITER $$ DROP PROCEDURE IF EXISTS `Hello_out` $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `Hello_out`(str1 varchar(100),out str2 varchar(100)) BEGIN set str2 = 'Daisy'; select concat(str1,' ',str2); END $$ DELIMITER ;
  18. Gọi thủ tục – ví dụ 2 set @str1='Hello'; CALL Hello_out(@str1,@name); select @name; Câu hỏi: Thực thi từng câu query Nhận xét sự thay đổi của biến @name
  19. Khai báo thủ tục – vd3 DELIMITER $$ DROP PROCEDURE IF EXISTS `Hello_out` $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `Hello_out`(inout chao varchar(100)) BEGIN set chao = 'Daisy'; select concat('Hello ',chao); END $$ DELIMITER ;
  20. Gọi thủ tục set @chao='Marry'; CALL Hello_in_out(@chao); select @chao; Câu hỏi: Thực thi từng câu query Nhận xét sự thay đổi của biến @name
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
8=>2