Theo tài liệu về các hàm do người dùng xác định trong MySQL
bạn chỉ có thể trả về các giá trị thuộc loại {STRING|INTEGER|REAL|DECIMAL}
CREATE [AGGREGATE] FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL}
SONAME shared_library_name
Nếu bạn muốn đọc một select
tập kết quả bạn phải xác định một procedure
nhưng không phải hàm function
.
DELIMITER //
DROP PROCEDURE IF EXISTS myProcedure //
CREATE PROCEDURE
myProcedure( id INT )
BEGIN
SELECT * FROM board
-- add where condition if required
WHERE Col_name = id
;
END
//
DELIMITER ;
Và bạn có thể gọi thủ tục như
call myProcedure( 6 )
Điều đó trả về các đối tượng ngầm định dựa trên các câu lệnh được sử dụng trong thủ tục.