当前位置:网站首页>Stored procedure learning notes

Stored procedure learning notes

2022-07-01 06:35:00 Small dollar

function

Self defined

stored procedure

Relative to the function, there can be no return value , Stored procedure stored function is stored in mysql On the server of , And pre compiled
stored procedure :
No parameters
Only in type ( No return with parameters )
Only out type ( No parameters return )
Yes in and out Parameters of type ( There are parameters and returns )
If you don't specify it when you create it, the default is in type

stored procedure
characteristics: Indicate the constraints in the stored procedure
language sql: Indicates whether the result of the stored procedure behavior is certain
sql security: Indicate the permissions of the stored procedure

delimit $ Replace the seal to indicate the end

Creation of stored procedures

delimiter //
CREATE PROCEDURE show_max_salary()
BEGIN
SELECT MAX(salary) FROM emp;
END //
delimiter ;

Calls to stored procedures

CALL show_max_salary

Create calls with parameters in stored procedures

elimiter //
CREATE PROCEDURE show_min_salary(OUT ms DOUBLE)
BEGIN
SELECT min(salary) INTO ms
FROM emp;
END //
delimit ;

call show_min_salary(@ms);
SELECT @ms

Call of stored procedure with parameters 2

delimiter //
CREATE procedure show_some_one_salary (IN empname VARCHAR(20))
BEGIN
SELECT salary FROM emp WHERE last_name = empname;
END //
delimiter ;

Call mode 1

call show_some_one_salary(“abel”)

Call mode 2

set @empname = ‘Abel’;
call show_some_one_salary(@empname);

Creation and call of stored procedure with parameters 3

delimiter //
CREATE PROCEDURE show_someone_salary(IN empname varchar(20),OUT empsalary DECIMAL(10,2))
BEGIN 
	SELECT salary INTO empsalary FROM emp WHERE last_name = empname;
END //
delimiter ;
SET @empname = "abel";
call show_someone_salary (@empname,@empsalary);
SELECT @empsalary

stored procedure inout3

delimiter $ 
CREATE procedure show_mgr_name(inout empname VARCHAR(25)) 
BEGIN 
	SELECT last_name INTO empname FROM emp 
	WHERE employee_id =
	(SELECT manager_id FROM emp WHERE last_name = empname);
end $
delimiter ;
set @empname := "abel";
call show_mgr_name(@empname);
SELECT @empname

ps: When using stored procedures, it is difficult to troubleshoot errors because they cannot be debugged

原网站

版权声明
本文为[Small dollar]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/182/202207010620431789.html