Navicat 中使用存储过程
写好存储过程逻辑保存后就能执行啦,当然这里只是简单入门,就不涉及到复杂的传参和返回结果问题,有兴趣可以深入研究
注意:也许你的存储过程耗时很长,请耐心等待
存储过程实例
BEGIN
DECLARE i INT DEFAULT 0; // 声明 i 作为整数变量
DECLARE sex char(1) DEFAULT '密';// 声明 sex(长度为1,具体长度和数据库设置有关)
SET autocommit=0;//禁用自动提交sql 和下面的COMMIT相关
WHILE i<300000 DO //循环30万次
IF i %2 =0
THEN
set sex='女';
ELSE
set sex='男';
END IF;// 被index被整除时把性别设置为‘女’
INSERT INTO user (uName,sex,registDate,passWord) VALUES( CONCAT( 'U', i ),sex,NOW(),CONCAT( 'PW', i ) ); // 执行一次插入语句,Now()是获取当前时间
SET i = i+1; // 循环变量自增
IF i%2000 = 0 THEN
COMMIT; // sql语句每积攒到2000条时,提交一次。你可以尝试 去掉‘禁用自动提交’,执行速度会慢很多(这也在说明,能提交一次sql执行的事情尽可能不要分开执行,此处明显攒2000条也是占用内存的,内存耗费的取舍问题)
END IF;
END WHILE;
END
从该栗子中很容易看出和其他编程语言内在无明显区别(Oracle中存储过程细节我没比较,但是语法和上述栗子也很类似),存储过程语句中存在 循环语句、if else、if else if 、类switch、各种常见运算符>= = != ……
这些细节内容就不一一罗列了,很容易搜索到