oracle pl/sql developer 执行procedure 插入数据 显示成功,但表无变化
存储过程:
create or replace procedure insertMany is
begin
for i in 1..1000 loop
insert into testdb.t_user values (testdb.seq_user.nextval,null,null,'www.19','北京','好好学习','1',null,sysdate,null, null);
end loop;
commit;
exception
when others then
dbms_output.put_line('---------------------------------error出现!');
rollback;
end insertMany;
表T_USER
create table TESTDB.T_USER
(
USER_ID NUMBER(19) not null,
ARCHIVEID NUMBER(19),
DEPT_ID NUMBER(19),
USER_NAME VARCHAR2(255 CHAR),
TRUENAME VARCHAR2(255 CHAR),
SEX VARCHAR2(255 CHAR),
STATUS VARCHAR2(255 CHAR) default 0,
REGISTER NUMBER(19),
REGIST_TIME TIMESTAMP(6),
CHANGER NUMBER(19),
CHANGE_TIME TIMESTAMP(6)
)
alter table TESTDB.T_USER add primary key (USER_ID)
环境:Oracle - OraDb11g_home1、PLSQL Developer、自己的笔记本(win 7 64位)
表空间 未满。本来想1次插入10W条,显示成功,条数为0。改成1W后,插入成功;到8.5W,显示成功,序列nextval增加了,条数不增加。改成插入一条,且插入数据主键改成已经存在的,不报错,显示成功。单独执行sql,会报唯一性约束,it‘s why?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题解决。应该是后来又开了个命令窗口,但是没运行set serveroutput on,所以一直不打印错误;然后详细的抓了下异常:-1536::ORA-01536: 超出表空间 'USERS' 的空间限额。执行 ALTER USER <USERNAME> QUOTA UNLIMITED ON <TABLESPACENAME>,问题解决。淡真的很疼。~~