#mysql
#mysql — сервер #mysql
Вопрос:
я пытаюсь выполнить 2 DMLS после ELSEIF в процедуре, подобной приведенной ниже, но один оператор выполняет другой, а другой нет.
IF COUNT=0 THEN
INSERT INTO TABLE
SELECT * FROM TABLE;
ELSEIF (COUNT>0 and COUNT<0)
UPDATE TABLE
SET COL1=0 WHERE COL1=1;
INSERT INTO TABLE
SELECT * FROM TABLE;
`INSERT INTO TABLE
SELECT * FROM TABLE`
здесь ОБНОВЛЕНИЕ выполняется под ELSEIF, а ВСТАВКА — нет.
пожалуйста, дайте мне знать, если у кого-нибудь есть какие-либо предложения.
Заранее спасибо.
Комментарии:
1.
COUNT>0 and COUNT<0
всегда будет оцениваться как false2. это всего лишь пример, который я привел, поскольку я не должен показывать код своего проекта.
3. можем ли мы выполнить 2 DMLS под elseif?
4. я извлекаю обновленные записи из другой таблицы, поэтому я сравниваю ELSEIF target_count>0 и update_count> 0, затем UPDATE T1 УСТАНАВЛИВАЕТ COL1= 1; ВСТАВКА В ТАБЛИЦУ ВЫБЕРИТЕ * ИЗ ИСТОЧНИКА здесь выполняется обновление, но вставка нет.
5. Вы можете поместить любое количество инструкций под ELSEIF и до ENDIF; .