sql—正在mysql中寻找此if语句的解决方案

uajslkp6  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(286)

我正在尝试用mysql创建if语句。。。这是oraclesql中的if

CREATE OR REPLACE TRIGGER pruef
BEFORE INSERT ON belegung 
FOR EACH ROW
DECLARE
    counter_1 INTEGER;
    beleg INTEGER;
    max_platz INTEGER;
BEGIN
SELECT :new.kurs_id into beleg from dual;
SELECT COUNT (*) INTO counter_1 FROM belegung WHERE kurs_id = beleg;
SELECT max_personen INTO max_platz FROM KURS WHERE kurs_id = beleg;  
    IF counter_1 >= max_platz THEN
    RAISE_APPLICATION_ERROR(-20101, 'Maximale Teilnehmerzahl überschritten');    
    END IF; 
END;
/

这是mysql代码

delimiter //                
CREATE TRIGGER pruef_mysql  
BEFORE INSERT ON BELEGUNG
FOR EACH ROW BEGIN
BEGIN
DECLARE 'counter_1' INT;    
        'beleg' INT;
        'max_platz' INT;
    SELECT new.kurs_id into 'beleg' FROM dual;
    SELECT (*) INTO 'counter_1' FROM 'belegung' WHERE kurs_id=beleg;
    SELECT 'max_personen' INTO 'max_platz' FROM 'KURS' WHERE kurs_id = beleg;  
    IF ('counter_1' >= 'max_platz', signal sqlstate -20101 set msgtext= 'Maximale Teilnehmerzahl überschritten');
    END IF;
    END//
DELIMITER ;

我不知道我是怎么做到的。。。也许搜索错了。

wwtsj6pe

wwtsj6pe1#

if函数和if语句在mysql中是两个不同的东西,您想使用后面的一个吗https://dev.mysql.com/doc/refman/8.0/en/if.html

相关问题