测试目标端表增加一个自增列主键
(2016-03-14 15:57:45)分类: ogg |
测试目标端表增加一个自增列主键,结果发现 目标表insert可以自增主键列,但是插入有过成功也有过失败。
delete原表记录,目标端应用也时好时坏,奇怪了。
update记录也失败。目标端没有变化。
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\Administrator>sqlplus /nolog
SQL*Plus: Release 11.2.0.3.0 Production on 星期一 3月 14 15:01:56
2016
Copyright (c) 1982, 2011, Oracle. All rights
reserved.
SQL> conn /as sysdba
已连接到空闲例程。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 2555445248 bytes
Fixed Size
2257912 bytes
Variable Size
872418312 bytes
Database Buffers
1660944384 bytes
Redo Buffers
19824640 bytes
数据库装载完毕。
数据库已经打开。
SQL> conn admin/admin
已连接。
SQL> select * from jyc;
---------- --------------------
SQL> select * from bj.jyc;
---------- -------------------- ----------
SQL> CREATE sequence test_seq start with 1 increment by 1
nomaxvalue nocycle;
序列已创建。
SQL> CREATE OR REPLACE TRIGGER test_trig_autoinc
触发器已创建
SQL> drop sequence test_seq;
序列已删除。
SQL> drop trigger test_trig_autoinc;
触发器已删除。
SQL> conn bj/bj
已连接。
SQL> CREATE sequence test_seq start with 1 increment by 1
nomaxvalue nocycle;
序列已创建。
SQL>
SQL> CREATE OR REPLACE TRIGGER test_trig_autoinc
触发器已创建
SQL> select * from jyc;
---------- -------------------- ----------
SQL> update jyc set unid=test_seq.nextval;
已更新4行。
SQL> commit;
提交完成。
SQL> select * from jyc;
---------- -------------------- ----------
SQL> alter table jyc add constraint pk_jyc primary
key(unid);
表已更改。
SQL> show user;
USER 为 "BJ"
SQL> select * from jyc;
---------- -------------------- ----------
SQL> select index_name from user_tables;
select index_name from user_tables
第 1 行出现错误:
ORA-00904: "INDEX_NAME": 标识符无效
SQL> select index_name from user_indexes;
INDEX_NAME
------------------------------
PK_JYC
SQL> /
INDEX_NAME
------------------------------
PK_JYC
SQL> /
INDEX_NAME
------------------------------
PK_JYC
SQL> select * from jyc;
---------- -------------------- ----------
SQL> conn admin/admin
已连接。
SQL> insert into jyc values(6,'abcd');
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from bj.jyc;
---------- -------------------- ----------
SQL> /
---------- -------------------- ----------
SQL> /
---------- -------------------- ----------
SQL> set time on
15:09:09 SQL> select * from bj.jyc;
---------- -------------------- ----------
15:09:12 SQL> select * from jyc;
---------- --------------------
15:09:17 SQL> select * from bj.jyc;
---------- -------------------- ----------
15:09:26 SQL> select * from bj.jyc;
---------- -------------------- ----------
15:09:34 SQL> /
---------- -------------------- ----------
15:09:49 SQL> /
---------- -------------------- ----------
15:10:15 SQL> select * from jyc;
---------- --------------------
15:10:20 SQL> insert into jyc values(7,'sdf');
已创建 1 行。
15:10:29 SQL> commit;
提交完成。
15:10:32 SQL> select * from bj.jyc;
---------- -------------------- ----------
15:10:52 SQL> select * from bj.jyc;
---------- -------------------- ----------
15:10:54 SQL> insert into jyc values(8,'abcd');
已创建 1 行。
15:11:25 SQL> commit;
提交完成。
15:11:27 SQL> select * from bj.jyc;
---------- -------------------- ----------
15:11:44 SQL> select * from bj.jyc;
---------- -------------------- ----------
15:11:47 SQL> /
---------- -------------------- ----------
15:12:41 SQL> /
---------- -------------------- ----------
15:14:50 SQL> conn bj/bj
已连接。
15:15:25 SQL> alter table jyc drop constraint pk_jyc;
表已更改。
15:15:29 SQL> select * from bj.jyc;
---------- -------------------- ----------
15:15:32 SQL> /
---------- -------------------- ----------
15:16:10 SQL> /
---------- -------------------- ----------
15:17:22 SQL> /
---------- -------------------- ----------
已选择7行。
15:18:54 SQL> select trigger_name from user_triggers;
TRIGGER_NAME
------------------------------
TEST_TRIG_AUTOINC
15:19:19 SQL> insert into jyc values(9,'abcdee');
insert into jyc values(9,'abcdee')
第 1 行出现错误:
ORA-00947: 没有足够的值
15:19:55 SQL> insert into jyc(id,name)
values(9,'abcdee');
已创建 1 行。
15:20:14 SQL> commit;
提交完成。
15:20:16 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择8行。
15:20:20 SQL> select trigger_name,status from
user_triggers;
TRIGGER_NAME
STATUS
------------------------------ --------
TEST_TRIG_AUTOINC
ENABLED
15:35:08 SQL> insert into jyc(id,name)
values(19,'23abcdee');
已创建 1 行。
15:38:55 SQL> commit;
提交完成。
15:38:58 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择9行。
15:39:01 SQL> conn bj/bj
已连接。
15:41:33 SQL> SELECT test_seq.nextval FROM DUAL;
----------
15:41:38 SQL> 、
SP2-0042: 未知命令 "、" - 其余行忽略。
15:41:42 SQL> /
----------
15:41:44 SQL> desc user_triggers;
15:42:04 SQL> select rigger_name,status,table_owner from
user_trigger;
select rigger_name,status,table_owner from user_trigger
第 1 行出现错误:
ORA-00942: 表或视图不存在
15:42:34 SQL> select rigger_name,status,table_owner from
user_triggers;
select rigger_name,status,table_owner from user_triggers
第 1 行出现错误:
ORA-00904: "RIGGER_NAME": 标识符无效
15:42:37 SQL> select trigger_name,status,table_owner from
user_triggers;
TRIGGER_NAME
STATUS TABLE_OWNER
------------------------------ --------
------------------------------
TEST_TRIG_AUTOINC
ENABLED
BJ
15:42:47 SQL> CREATE TABLE test(
15:43:09 2 id
number(18,0),
15:43:09 3 name
varchar2(20));
表已创建。
15:43:11 SQL> CREATE OR REPLACE TRIGGER
test_trig_autoinc1
15:43:35 2 BEFORE INSERT
ON test
15:43:35 3 FOR EACH
ROW
15:43:35 4 BEGIN
15:43:35 5
IF (:new.ID IS NULL) THEN
15:43:35 6
SELECT test_seq.nextval INTO
:new.ID FROM DUAL;
15:43:35 7
END IF;
15:43:35 8 END;
15:43:35 9 /
触发器已创建
15:43:37 SQL> insert into test(name)
values('luoyoumou1');
已创建 1 行。
15:44:03 SQL> commit;
提交完成。
15:44:06 SQL> insert into test(name)
values('luoyoumou2');
已创建 1 行。
15:44:10 SQL> commit;
提交完成。
15:44:11 SQL> select * from test;
---------- --------------------
15:44:15 SQL> drop trigger test_trig_autoinc;
触发器已删除。
15:44:46 SQL>
15:44:46 SQL> CREATE OR REPLACE TRIGGER
test_trig_autoinc
15:44:46 2 BEFORE INSERT
ON jyc
15:44:46 3 FOR EACH
ROW
15:44:46 4 BEGIN
15:44:46 5
IF (:new.UNID IS NULL) THEN
15:44:46 6
SELECT test_seq.nextval INTO
:new.UNID FROM DUAL;
15:44:46 7
END IF;
15:44:46 8 END;
15:44:46 9 /
触发器已创建
15:44:46 SQL> select * from jyc;
---------- -------------------- ----------
已选择9行。
15:44:58 SQL> delete from jyc where id=19;
已删除 1 行。
15:45:09 SQL> delete from jyc where id=9;
已删除 1 行。
15:45:13 SQL> delete from jyc where id=6;
已删除 1 行。
15:45:20 SQL> delete from jyc where id=7;
已删除 1 行。
15:45:22 SQL> delete from jyc where id=8;
已删除 1 行。
15:45:25 SQL> commit;
提交完成。
15:45:29 SQL> select * from jyc;
---------- -------------------- ----------
15:45:33 SQL> select * from jyc;
---------- -------------------- ----------
已选择7行。
15:46:00 SQL> alter table jyc add constraint pk_jyc primary
key(unid);
表已更改。
15:46:30 SQL> conn admin/admin
已连接。
15:46:40 SQL> insert into jyc(id,name)
values(9,'23abcdee');
已创建 1 行。
15:47:04 SQL> commit;
提交完成。
15:47:07 SQL> select * from jyc;
---------- --------------------
已选择8行。
15:47:11 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择8行。
15:47:16 SQL> insert into jyc values(10,'dee');
已创建 1 行。
15:48:01 SQL> commit;
提交完成。
15:48:03 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择8行。
15:48:05 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择9行。
15:48:07 SQL> insert into jyc(id,name)
values(11,'23abcdee');
已创建 1 行。
15:48:39 SQL> commit;
提交完成。
15:48:40 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择9行。
15:48:45 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择10行。
15:48:51 SQL> delete from jyc where id=1;
已删除 1 行。
15:49:13 SQL> commit;
提交完成。
15:49:15 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择10行。
15:49:18 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择10行。
15:49:21 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择10行。
15:49:22 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择10行。
15:49:25 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择10行。
15:49:27 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择10行。
15:49:29 SQL> select * from jyc;
---------- --------------------
已选择9行。
15:49:33 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择10行。
15:49:38 SQL> insert into jyc(id,name)
values(12,'cdee');
已创建 1 行。
15:49:50 SQL> commit;
提交完成。
15:49:52 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择10行。
15:49:56 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择11行。
15:50:02 SQL> select * from jyc;
---------- --------------------
已选择10行。
15:50:08 SQL> select * from jyc;
---------- --------------------
已选择10行。
15:50:19 SQL> select * from bj.jyc;
---------- -------------------- ----------
已选择11行。
15:50:23 SQL> /
---------- -------------------- ----------
已选择11行。
15:51:35 SQL> /
---------- -------------------- ----------
已选择11行。
15:57:28 SQL>