如何写一个简单的存储过程(oracle)

maidongdong 2006-08-15 10:33:20
我想写一个oracle的存取过程,往一个表中插入3000条记录,先做如下测试:如下:
create procedure user_initialize() as
begin
delete from bua_organization;
insert into bua_organization values(1, 'name', 'code', 0);
commit;
end;
为何一条记录也插不进去,更不用说插3000条了

插入3000条又该怎么写呢,时间紧张,没功夫来研究了,请高手指教呀。

...全文
484 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mycode 2006-08-16
  • 打赏
  • 举报
回复
insert into bua_organization values(1, 'name', 'code', 0);
这条语句中,插入表organization 没有写明字段名。这种写法,在编写程序时是需要尽力避免的。因为这样写,既不知道字段名,也不知道顺序,完全依赖于Oracle的当时建表的顺序,很容易出错。最好改在楼上所写的。
kingkingkingking 2006-08-16
  • 打赏
  • 举报
回复
insert into bua_organization(col1,col2,col3,col4) values(1, 'name', 'code', 0);
vivianfdlpw 2006-08-16
  • 打赏
  • 举报
回复
错误的地方:
user_initialize()
========〉
user_initialize

另外最好加事务控制
Eric_1999 2006-08-16
  • 打赏
  • 举报
回复
确定是插入3000条可以这样。

FOR run_count IN 1..3000 LOOP
insert();
END LOOP;
snowy_howe 2006-08-16
  • 打赏
  • 举报
回复
请提供错误信息,从表面上看没什么语法错误。
vivianfdlpw 2006-08-15
  • 打赏
  • 举报
回复
create or replace procedure user_initialize as
begin
delete from bua_organization;
insert into bua_organization values(1, 'name', 'code', 0);
commit;
exception
when others then
rollback;
raise;
end;

17,088

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧