Thủ tục lưu trữ và Hàm - Store Procedures
Số trang: 46
Loại file: pdf
Dung lượng: 227.01 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Đị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àmLà 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:
Nội dung trích xuất từ tài liệu:
Thủ tục lưu trữ và Hàm - Store ProceduresThủ tục lưu trữ và Hàm Store Procedures 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àmTạo lập thực thi thủ tục lưu trữ,hàmTham số trong thủ tục lưu trữ,hàmBiế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: − Người phát triển CSDL. − DBA – Database Administrator Hỗ trợ cho công việc quản trị CSDL Thuận lợiLập trình theo moduleThực thi nhanh hơn các lệnh T-SQLLàm giảm lưu lượng trên mạngTăng cường bảo mật Xem các thủ tục lưu trữ của một databaseselect routine_type, routine_namefrom information_schema.routineswhere routine_schema=csdl_qldthi; Khai báo thủ tụcCREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body Khai báo hàmCREATE [DEFINER = { user | CURRENT_USER }] FUNCTION sp_name ([func_parameter[,...]]) RETURNS type [characteristic ...] routine_body Ý nghĩa các tham sốTrong đó:proc_parameter: là kiểu của tham số[ IN | OUT | INOUT ] param_name typetype: Kiểu dữ liệu hợp lệ trong MySQLroutine_body: Những câu lệnh hợp lệ 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 ; Gọi thủ tụcCALL sp_name([parameter[,...]])CALL sp_name[()]Ví dụCALL Hello()CALL Hello(Marry)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 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) Khai báo thủ tục - vd1DELIMITER $$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 ; Gọi thủ tụcset @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??? Khai báo hàm – vd1DELIMITER $$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 ; Gọi hàm – vd1SELECT test_f(mary)Hoặc Set @a =``; Set @a:=test_f(mary);Hoặc Set @a=``; select @a:= test_f(mary); Khai báo thủ tục – ví dụ 2DELIMITER $$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 ; Gọi thủ tục – ví dụ 2set @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 Khai báo thủ tục – vd3DELIMITER $$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 ; Gọi thủ tụcset @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
Nội dung trích xuất từ tài liệu:
Thủ tục lưu trữ và Hàm - Store ProceduresThủ tục lưu trữ và Hàm Store Procedures 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àmTạo lập thực thi thủ tục lưu trữ,hàmTham số trong thủ tục lưu trữ,hàmBiế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: − Người phát triển CSDL. − DBA – Database Administrator Hỗ trợ cho công việc quản trị CSDL Thuận lợiLập trình theo moduleThực thi nhanh hơn các lệnh T-SQLLàm giảm lưu lượng trên mạngTăng cường bảo mật Xem các thủ tục lưu trữ của một databaseselect routine_type, routine_namefrom information_schema.routineswhere routine_schema=csdl_qldthi; Khai báo thủ tụcCREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body Khai báo hàmCREATE [DEFINER = { user | CURRENT_USER }] FUNCTION sp_name ([func_parameter[,...]]) RETURNS type [characteristic ...] routine_body Ý nghĩa các tham sốTrong đó:proc_parameter: là kiểu của tham số[ IN | OUT | INOUT ] param_name typetype: Kiểu dữ liệu hợp lệ trong MySQLroutine_body: Những câu lệnh hợp lệ 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 ; Gọi thủ tụcCALL sp_name([parameter[,...]])CALL sp_name[()]Ví dụCALL Hello()CALL Hello(Marry)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 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) Khai báo thủ tục - vd1DELIMITER $$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 ; Gọi thủ tụcset @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??? Khai báo hàm – vd1DELIMITER $$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 ; Gọi hàm – vd1SELECT test_f(mary)Hoặc Set @a =``; Set @a:=test_f(mary);Hoặc Set @a=``; select @a:= test_f(mary); Khai báo thủ tục – ví dụ 2DELIMITER $$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 ; Gọi thủ tục – ví dụ 2set @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 Khai báo thủ tục – vd3DELIMITER $$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 ; Gọi thủ tụcset @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
Tìm kiếm theo từ khóa liên quan:
Tổng quan MySQL SQL trong MySQL Thủ tục lưu trữ Hàm lập trình quản trị MySQL Sao lưu phục hồi CSDLGợi ý tài liệu liên quan:
-
8 trang 26 0 0
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
151 trang 25 0 0 -
74 trang 25 0 0
-
68 trang 24 0 0
-
74 trang 22 0 0
-
Giáo trình Lập trình ứng dụng Web với ngôn ngữ PHP
64 trang 21 0 0 -
15 trang 21 0 0
-
17 trang 20 0 0
-
Giới thiệu về khóa học C# căn bản
74 trang 20 0 0 -
43 trang 20 0 0