MySQL Stored Procedure: булева логика, в ЕСЛИ ЗАТЕМ

Я ищу правильный синтаксис (если это возможно в хранимых процедурах MySQL) для использования логических операторов в, ЕСЛИ оператор THEN. Вот что-то вроде того, что я хотел бы сделать, но я не уверен, должен ли я ввести "ИЛИ" или "||" в ЕСЛИ... ЗАТЕМ Пункт:

DELIMITER $$

CREATE PROCEDURE `MyStoredProc` (_id INT)
BEGIN

  DECLARE testVal1 INT DEFAULT 0;
  DECLARE testVal2 INT DEFAULT 0;

  SELECT value1, value2 INTO testVal1, testVal2 
    FROM ValueTable 
   WHERE id = _id;

 IF testVal1 > 0 OR testVal2 > 0 THEN

   UPDATE ValueTable 
      SET value1 = (value1+1) 
    WHERE id=_id;

 END IF;

END$$
6
задан OMG Ponies 12 May 2010 в 18:19
поделиться

1 ответ

Я не пробовал это с хранимыми процедурами, но «или» работает для триггеров. Вот рабочий фрагмент текущего производственного кода:

CREATE TRIGGER `update_inventory` AFTER INSERT ON `order_updates` FOR EACH ROW 
begin
   if new.type = 'received' or new.type = 'used' or new.type = 'returned' then 
...
0
ответ дан 17 December 2019 в 22:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: