Функция MySQL с UPDATE после SELECT с использованием переменной RETURN - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь обновить столбец в строке после выбора этой строки с помощью функции в MySQL, чтобы это могло произойти в одной транзакции.

Я создал функцию без ошибок и могу запустить функциюпросто отлично, пока он возвращает запись, но я заметил, что он не выполняет запрос UPDATE, используя возвращенную переменную.

Я подтвердил, что запрос UPDATE работает, когда он выполняется один.

Вот мой CREATEФУНКЦИОНАЛЬНЫЙ скрипт:

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 голосов
/ 31 мая 2018

Попробуйте создать хранимую процедуру для операций CRUD.Используйте оператор SELECT для выходного значения.

...