SELECT * FROM user_relations WHERE lft >=10 and rgt<351 and is_vip=1 and is_cloud=1;
#存储过程语法
DELIMITER //
CREATE PROCEDURE 存储过程名(参数名1 参数类型1,参数名2,参数类型2)
BEGIN
代码块;
END//
DELIMITER ;
#存储过程是一组sql语句的集合
#书写一个加薪的存储过程
DELIMITER //
CREATE PROCEDURE addSalary(money FLOAT,idd BIGINT)
BEGIN
UPDATE emp SET salary=salary+money WHERE id=idd;
END //
DELIMITER ;
#调用存储过程call存储过程名()
CALL addSalary (1000,9);
#删除存储过程;DROP PROCEDURE 存储过程名;
DROP PROCEDURE addSalary;
#存储过程练习
DELIMITER //
CREATE PROCEDURE test(in i FLOAT,in j FLOAT.out num FLOAT)
BEGIN
set num=i+j;
END //
DELIMITER ;
CALL test (10,20@result)
SELECT@result
#-------------------------------------------------------------------
#带if语句的存储过程
DELIMITER //
CREATE PROCEDURE addSalary(money FLOAT,idd BIGINT)
BEGIN
IF (m>0) THEN
UPDATE emp SET salary=salary+money WHERE id=idd;
END IF;
END //
DELIMITER ;
#带if...else的存储过程
DELIMITER //
CREATE PROCEDURE addSalary(money FLOAT,idd BIGINT)
BEGIN
IF (m>0) THEN
UPDATE emp SET salary=salary+money WHERE id=idd;
ELSE
SELECT 'dsfshj ' as 提示信息;
END IF;
END //
DELIMITER ;
CALL addSalary (1,1000);
#带if...else if ...else语句的存储过程
DELIMITER //
CREATE PROCEDURE addSalary(money FLOAT)
BEGIN
IF (money>500) THEN
SELECT '宝马' as 信息;
ELSEIF money>300 THEN
SELECT '长成' as 信息;
ELSEIF money>30 THEN
SELECT '长按' as 信息;
ELSE
SELECT '没有' as 信息;
END IF;
END //
DELIMITER ;
CALL addSalary (1000);
#case选择分支结构
DELIMITER //
CREATE PROCEDURE addSalary(money FLOAT,idd BIGINT)
BEGIN
CASE i
WHEN 1 THEN
select 'xq1'as'日期';
WHEN 2 THEN
select 'xq1'as'日期';
ELSE
select 'xq3'as'日期';
END CASE;
END //
DELIMITER ;
--------while---------------------------
DELIMITER //
CREATE PROCEDURE por_whilel(IN i INT)
BEGIN
DECLARE a INT DEFAULT(1);#声明变量赋值变量
WHILE a<=100 DO
INSERT INTO users set usersname='test'.money=500;
set a=a+1;#结束循环
END WHILE;
END //
DELIMITER ;
-----------------LOOP------------------
DELIMITER //
CREATE PROCEDURE por_loop()
BEGIN
DECLARE i INT DEFAULT 0;
loop_tets1:LOOP
INSERT INTO users set usersname='test'.money=500;
set i = i+1
IF i=100 THEN
LEAVE loop_tets1;
END IF;
END LOOP;
END //
DELIMITER ;