使用RETURN变量

时间:2018-05-30 22:33:05

标签: mysql function procedure

我在使用MySQL中的函数选择该行后尝试更新一行中的列,因此这可能发生在一个事务中。

我创建了没有错误的函数,可以在返回记录时运行该函数,但我注意到它没有使用返回的变量运行UPDATE查询。

我已经确认UPDATE查询在单独运行时有效。

这是我的CREATE FUNCTION脚本:

DELIMITER $$
 CREATE FUNCTION `cc_jqual_update`(
    `cause_location` VARCHAR(30)
)
RETURNS VARCHAR(20)
    LANGUAGE SQL
    NOT DETERMINISTIC
    CONTAINS SQL
    SQL SECURITY DEFINER
    COMMENT ''
BEGIN
DECLARE cause_number VARCHAR(20);
select court_cases.cause_no INTO cause_number
  from court_cases
  where ((court_cases.cause_loc = cause_location)
   and (court_cases.cause_status not in ('Dismissed','Disposed'))) LIMIT 1;
RETURN cause_number;
update court_cases set last_read = now() where cause_no = cause_number;
END
$$
DELIMITER ;

1 个答案:

答案 0 :(得分:0)

尝试为CRUD操作创建存储过程。使用SELECT语句作为输出值。