1
drop table if exists tbl1,tbl2;
2
create table tbl1 (pk int,i1 int, v2 varchar(80), i3 char(20),i4 float, d4 datetime(6),i5 decimal(5,3),i6 bool, primary key(pk));
3
insert into tbl1 values(1,1,'abc12','1agc',1.25,'2014-01-01 12:00:00',23.23,1),
4
(2,10,'23abc12','4agc1',-0.25,'2015-11-01 12:00:00',-23.230,0),
5
(3,201,'xx23abc12','cagc1',-2.25,'2015-11-21 11:20:10',3.231,1),
6
(4,80,'zx23abc12','zcagc1',2.25,'2013-01-21 11:20:10',-3.231,1),
7
(5,53,'cx23abc12','rcagc1',109.25,'2016-01-22 11:20:10',-13.131,0);
8
alter system major freeze tenant = sys;
9
alter system major freeze tenant = all_user;
10
alter system major freeze tenant = all_meta;
11
insert into tbl1 values (6,78,'tx23abc12','icagc1',-109.25,'2014-09-16 16:24:00',-13.531,1),(8,50,'vx23abc12','wcagc1',-85.85,'2014-09-10 16:20:21',93.131,1),(9,610,'ukx23abc12','pecagc1',-1.85,'2014-09-19 16:20:21',99.131,0),(10,42,'kx23abc12','ecagc1',-85.86,'2014-09-18 16:20:21',-99.131,1),(11,null,null,null,null,null,null,null);
14
select * from tbl1 where pk=100 for update;
15
pk i1 v2 i3 i4 d4 i5 i6
16
insert into tbl1 values(100,102,'abdggc12','1agc1d',1.215,'2014-01-01 12:00:10',83.23,1);
17
update tbl1 set i1=i1-300 where pk in (100,1,123,8,9);
18
update tbl1 set pk=200 where pk=100;
19
select * from tbl1 where pk in (100,200);
20
pk i1 v2 i3 i4 d4 i5 i6
22
select * from tbl1 where pk in (100,200);
23
pk i1 v2 i3 i4 d4 i5 i6
24
100 -198 abdggc12 1agc1d 1.215 2014-01-01 12:00:10.000000 83.230 1
26
select * from tbl1 where pk in (100,200);
27
pk i1 v2 i3 i4 d4 i5 i6
28
100 -198 abdggc12 1agc1d 1.215 2014-01-01 12:00:10.000000 83.230 1
29
delete from tbl1 where pk in (100,200);
31
select * from tbl1 where pk=100 for update;
32
pk i1 v2 i3 i4 d4 i5 i6
33
insert into tbl1 values(100,102,'abdggc12','1agc1d',1.215,'2014-01-01 12:00:10',83.23,1);
34
update tbl1 set i1=i1-300 where pk in (100,1,123,8,9);
35
insert into tbl1 values(100,102,'abdggc12','1agc1d',1.215,'2014-01-01 12:00:10',83.23,1);
36
Got one of the listed errors
37
select * from tbl1 where pk in (100,200);
38
pk i1 v2 i3 i4 d4 i5 i6
40
select * from tbl1 where pk in (100,200);
41
pk i1 v2 i3 i4 d4 i5 i6
42
100 -198 abdggc12 1agc1d 1.215 2014-01-01 12:00:10.000000 83.230 1
44
select * from tbl1 where pk in (100,200);
45
pk i1 v2 i3 i4 d4 i5 i6
46
100 -198 abdggc12 1agc1d 1.215 2014-01-01 12:00:10.000000 83.230 1
47
delete from tbl1 where pk in (100,200);
49
select * from tbl1 where pk=100 for update;
50
pk i1 v2 i3 i4 d4 i5 i6
51
insert into tbl1 values(100,102,'abdggc12','1agc1d',1.215,'2014-01-01 12:00:10',83.23,1);
52
update tbl1 set i1=i1-300 where pk in (100,1,123,8,9);
53
select * from tbl1 where pk=100 for update;
54
pk i1 v2 i3 i4 d4 i5 i6
55
100 -198 abdggc12 1agc1d 1.215 2014-01-01 12:00:10.000000 83.230 1
56
replace into tbl1 values(100,105,'abdggc12','1agc1d',1.215,'2014-01-01 12:00:10',83.23,1);
57
Got one of the listed errors
58
select * from tbl1 where pk in (100,200);
59
pk i1 v2 i3 i4 d4 i5 i6
61
select * from tbl1 where pk in (100,200);
62
pk i1 v2 i3 i4 d4 i5 i6
63
100 -198 abdggc12 1agc1d 1.215 2014-01-01 12:00:10.000000 83.230 1
65
select * from tbl1 where pk in (100,200);
66
pk i1 v2 i3 i4 d4 i5 i6
67
100 -198 abdggc12 1agc1d 1.215 2014-01-01 12:00:10.000000 83.230 1
68
delete from tbl1 where pk in (100,200);
70
select * from tbl1 where pk in(100,10,1,200) for update;
71
pk i1 v2 i3 i4 d4 i5 i6
72
1 -899 abc12 1agc 1.25 2014-01-01 12:00:00.000000 23.230 1
73
10 42 kx23abc12 ecagc1 -85.86 2014-09-18 16:20:21.000000 -99.131 1
74
insert into tbl1 values(100,102,'abdggc12','1agc1d',1.215,'2014-01-01 12:00:10',83.23,1);
75
update tbl1 set i1=i1-300 where pk in (100,1,123,8,9);
76
Got one of the listed errors
77
update tbl1 set i1=i1-300 where pk in (100,123);
78
update tbl1 set pk=1 where pk=1;
79
Got one of the listed errors
80
select * from tbl1 t1 where t1.pk in(100,200) for update;
81
pk i1 v2 i3 i4 d4 i5 i6
82
100 -198 abdggc12 1agc1d 1.215 2014-01-01 12:00:10.000000 83.230 1
83
replace into tbl1 values(100,105,'abdggc12','1agc1d',1.215,'2014-01-01 12:00:10',83.23,1);
84
Got one of the listed errors
85
select * from tbl1 where pk in (100,200);
86
pk i1 v2 i3 i4 d4 i5 i6
87
update tbl1 set pk=1 where pk=1;
89
select * from tbl1 where pk in (100,200);
90
pk i1 v2 i3 i4 d4 i5 i6
91
100 -198 abdggc12 1agc1d 1.215 2014-01-01 12:00:10.000000 83.230 1
93
select * from tbl1 where pk in (100,200);
94
pk i1 v2 i3 i4 d4 i5 i6
95
100 -198 abdggc12 1agc1d 1.215 2014-01-01 12:00:10.000000 83.230 1
96
delete from tbl1 where pk in (100,200);