概述
1、在表account中循环插入数据,id从1001到1005:
create or replace procedure test is
--存储过程,名称为test
v_id int;
--声明变量
begin
v_id := 1001;
--ACCOUNT_ID从1001插到1005
while v_id <= 1005 --设置插入的次数
loop
insert into account
--插入语句
(ACCOUNT_ID,
USERNAME,
PASSWORD)
values
(v_id,
'小明' || v_id,
'b789e083a23eb59c92e1774ebf33e6b3');
v_id := v_id + 1;
--循环时每次加一
end loop;
commit;
end;
2、第一句:create or replace procedure test is代表了这个语句是存储过程,执行完之后,在左侧菜单里能看到刚才的过程名称:test。如果不想提交,则把这个test右键drop掉
3、提交:新建命令窗口command Window,输入exec test后回车,就提交了
备注:普通的insert语句,执行commit语句或者点击执行按钮就提交了。
现在存储过程里面即使有commit语句且执行了,也不是真正的执行。,只是放在test里面,当执行这个test,才是真正的做Inert into和commit操作,又插入又提交。换句话说,倒数第二行的commit语句,只是让他成为了一个完整的不需要人工干预的sql,但是并没有执行,任何操作都没做,当你exec test;操作了,他就开始insert into ,开始commit了
4、问题:我之前按照网上给的,进行循环插入语句,结果各种报错:begin function pragma procedure subtype type <a identifier> <a doble-quoted delimited-identifier> current custor delete exists prior
之后使用存储过程procedure 就好了,存储过程可以不需要declare
最后
以上就是舒服眼睛为你收集整理的oracle存储过程--循环插入数据的全部内容,希望文章能够帮你解决oracle存储过程--循环插入数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复