存储过程不返回值

时间:2013-12-04 20:55:49

标签: mysql sql stored-procedures

我正在创建一个存储过程来更新一个字段,该字段的指导者使用的值小于某个值。该过程创建并运行,但在运行时它只返回行。我打电话给程序后没有数据出现。它只有一个字段要更新,所以我不需要实现游标。任何帮助将不胜感激。

DELIMITER $$
drop procedure if exists update_salary$$
create procedure update_salary()
begin
declare Instructor_ID int;
declare Salary int;
select Instructor_ID, Salary from Instructor where Instructor_ID = 13;
if Salary < 53000 then
update Instructor set Salary = 61000 where Instructor_ID = People.Person_ID;
end if;
end $$ 

1 个答案:

答案 0 :(得分:0)

我不太确定People.Person_ID来自哪里,但如果您的目标是仅在工资低于53 000时更新Instructor表中的特定记录,则应使用简单的UPDATE查询,如下所示:

UPDATE Instructor SET Salary = 61000 WHERE Instructor_ID = 13 AND Salary < 53000

要在以后查看更新结果,您需要运行SELECT语句,如下所示:

SELECT Instructor_ID, Salary FROM Instructor WHERE Instructor_ID = 13