有时候仅凭 sql 语句可能达不到想要的数据操做目的,有可能须要写一些方法体,经过循环判断等操做最终达到目的。那么在数据库里实现这种方法体就须要存储过程了,我的以为一个带注释的简单实例能够简单粗暴地解决大部分问题,固然要深刻学习了解的话仍是要看教程文档了,话很少说,上码:mysql
- create procedure my_procedure()
- begin
- declare my_id varchar(32);
- declare my_name varchar(50);
- DECLARE done INT DEFAULT FALSE;
-
- DECLARE My_Cursor CURSOR FOR ( SELECT id, name FROM t_people );
- DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
-
- OPEN My_Cursor;
- myLoop: LOOP
- FETCH My_Cursor into my_id, my_name;
- IF done THEN
- LEAVE myLoop;
- END IF;
-
- UPDATE t_user SET c_name = my_name WHERE id = my_id and rtrim(ltrim(c_name)) = '';
-
- COMMIT;
- END LOOP myLoop;
- CLOSE My_Cursor;
- END;
sql 调用存储过程sql
sql 删除存储过程数据库
- drop procedure my_procedure;
End .oop