22,210
社区成员
发帖
与我相关
我的任务
分享
-- 你的语法不对
if exists(select count(1) from move_in where dno=101101 having count(1) = 6)
select 'a'
else
select 'b'
DROP PROCEDURE IF EXISTS pay_cost;
DELIMITER //
CREATE PROCEDURE pay_cost(sno INT,dno INT,cost INT) #传入学号sno,宿舍号dno,缴费金额cost
BEGIN
IF (SELECT COUNT(*) FROM move_in m WHERE m.dno=dno)=6 THEN
SELECT '宿舍已满员,缴费失败!'缴费结果; #这里为什么一定要加封号
ELSE IF cost<1200 THEN
SELECT '缴费失败!金额小于1200..'缴费结果;
#ELSE IF cost>=1200 THEN
#INSERT INTO move_in VALUES(sno,dno,1200);
#SELECT '缴费成功!'缴费结果;
END IF;
END //
DELIMITER ;
DELIMITER //
CREATE PROCEDURE pay_cost(sno INT,dno INT,cost INT) #传入学号sno,宿舍号dno,缴费金额cost
BEGIN
IF EXISTS(SELECT COUNT(1) FROM move_in m WHERE dno=m.dno HAVING COUNT(1)=6)
SELECT '宿舍已满员';
END IF;
END //
DELIMITER ;