变量与存储过程的综合使用
变量与存储过程的综合涉及到两个方面的变量使用:
1.在引入的参数变量中使用变量(参数变量)
2.在函数内部声明的变量中使用变量(内部变量)
3.补充:函数外部的变量(外部标量)不能直接调到存储过程中作为变量执行使用
存储过程与变量的结合使用实例:
1 #方式2:使用局部变量 2 DELIMITER // 3 4 CREATE PROCEDURE add_value() 5 BEGIN 6 #声明 7 DECLARE value1,value2,sum_val INT;#此处声明一样的类型变量只能在最后声明一次,不能在每个变量后面都声明一次,否则要写三次DECLARE 8 9 #赋值 10 SET value1 = 10; 11 SET value2 := 100; 12 13 SET sum_val = value1 + value2; 14 #使用 15 SELECT sum_val; 16 END // 17 18 DELIMITER ;
1 #举例3:创建存储过程“different_salary”查询某员工和他领导的薪资差距,并用IN参数emp_id接收员工id, 2 #用OUT参数dif_salary输出薪资差距结果。 3 4 DELIMITER // 5 6 CREATE PROCEDURE different_salary(IN emp_id INT,OUT dif_salary DOUBLE) 7 BEGIN 8 #分析:查询出emp_id员工的工资;查询出emp_id员工的管理者的id;查询管理者id的工资;计算两个工资的差值 9 10 #声明变量 11 DECLARE emp_sal DOUBLE DEFAULT 0.0; #记录员工的工资 12 DECLARE mgr_sal DOUBLE DEFAULT 0.0; #记录管理者的工资 13 14 DECLARE mgr_id INT DEFAULT 0; #记录管理者的id 15 16 17 #赋值 18 SELECT salary INTO emp_sal FROM employees WHERE employee_id = emp_id; 19 20 SELECT manager_id INTO mgr_id FROM employees WHERE employee_id = emp_id; 21 SELECT salary INTO mgr_sal FROM employees WHERE employee_id = mgr_id; 22 23 SET dif_salary = mgr_sal - emp_sal; 24 25 END // 26 DELIMITER ;
此处的编程思想和高级语言的编程思想较为类似。
补充:定义存储函数时,也可以和存储过程一样,结合变量使用,把要求的值定义出来,再用一系列语句将其求出,再RETURN 这个值
该方法相较于直接RETURN一个整体,更为简明,也更为灵活
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧