⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 refactions.out

📁 derby database source code.good for you.
💻 OUT
📖 第 1 页 / 共 5 页
字号:
4          |3          |bd  ij> delete from t1;4 rows inserted/updated/deletedij> select * from t1;A          |B          -----------------------ij> select * from t2;X          |Y          -----------------------ij> select * from t1temp;L          |M          |OP  ----------------------------3          |4          |bd  4          |3          |bd  1          |2          |bd  2          |1          |bd  6          |7          |bd  7          |6          |bd  ij> drop table t1temp;0 rows inserted/updated/deletedij> alter table t1 drop constraint c1;0 rows inserted/updated/deletedij> drop table t2;0 rows inserted/updated/deletedij> drop table t1;0 rows inserted/updated/deletedij> --ROW triggers on a cyclic referential actionscreate table t1(a int not null primary key, b int not null unique);0 rows inserted/updated/deletedij> create table t2(x int not null primary key, y int);0 rows inserted/updated/deletedij> insert into t1 values (1, 2);1 row inserted/updated/deletedij> insert into t1 values (2, 1);1 row inserted/updated/deletedij> insert into t2 values (1, 2);1 row inserted/updated/deletedij> insert into t2 values (2, 1);1 row inserted/updated/deletedij> insert into t1 values (3, 4);1 row inserted/updated/deletedij> insert into t1 values (4, 3);1 row inserted/updated/deletedij> insert into t2 values (3, 4);1 row inserted/updated/deletedij> insert into t2 values (4, 3);1 row inserted/updated/deletedij> insert into t1 values (6, 7);1 row inserted/updated/deletedij> insert into t1 values (7, 6);1 row inserted/updated/deletedij> insert into t2 values (6, 7);1 row inserted/updated/deletedij> insert into t2 values (7, 6);1 row inserted/updated/deletedij> alter table t1 add constraint c1 foreign key (b)                              references t2(x) on delete cascade;0 rows inserted/updated/deletedij> alter table t2 add constraint c2 foreign key (y)                               references t1(b) on delete cascade;0 rows inserted/updated/deletedij> create table t1temp(l int , m int, op char(2));0 rows inserted/updated/deletedij> create trigger trig_cyclic_del1 after DELETE on t1referencing old as deletedrowfor each row mode db2sqlinsert into t1temp values(deletedrow.a , deletedrow.b, 'ad');0 rows inserted/updated/deletedij> create trigger trig_cyclic_del2 AFTER DELETE on t1referencing old as deletedrowfor each row mode db2sqlinsert into t1temp values(deletedrow.a , deletedrow.b, 'bd');0 rows inserted/updated/deletedij> select * from t1;A          |B          -----------------------1          |2          2          |1          3          |4          4          |3          6          |7          7          |6          ij> select * from t2;X          |Y          -----------------------1          |2          2          |1          3          |4          4          |3          6          |7          7          |6          ij> ---following delete should delete all the rowsdelete from t1 where a = 1;1 row inserted/updated/deletedij> select * from t1;A          |B          -----------------------3          |4          4          |3          6          |7          7          |6          ij> select * from t2;X          |Y          -----------------------3          |4          4          |3          6          |7          7          |6          ij> select * from t1temp;L          |M          |OP  ----------------------------1          |2          |ad  2          |1          |ad  1          |2          |bd  2          |1          |bd  ij> delete from t1;4 rows inserted/updated/deletedij> select * from t1;A          |B          -----------------------ij> select * from t2;X          |Y          -----------------------ij> select * from t1temp;L          |M          |OP  ----------------------------1          |2          |ad  2          |1          |ad  1          |2          |bd  2          |1          |bd  3          |4          |ad  4          |3          |ad  6          |7          |ad  7          |6          |ad  3          |4          |bd  4          |3          |bd  6          |7          |bd  7          |6          |bd  ij> drop table t1temp;0 rows inserted/updated/deletedij> alter table t1 drop constraint c1;0 rows inserted/updated/deletedij> drop table t2;0 rows inserted/updated/deletedij> drop table t1;0 rows inserted/updated/deletedij> --SET NULL UPDATE  STETEMENT triggers on a self referencing tablecreate table emp(empno char(2) not null, mgr char(2), constraint emp primary key(empno),  constraint manages foreign key(mgr) references emp(empno) on delete set null);0 rows inserted/updated/deletedij> create table tempemp(empno char(2) , mgr char(2)  , op char(2));0 rows inserted/updated/deletedij> insert into emp values('e1', null);1 row inserted/updated/deletedij> insert into emp values('e2', 'e1');1 row inserted/updated/deletedij> insert into emp values('e3', 'e1');1 row inserted/updated/deletedij> insert into emp values('e4', 'e2');1 row inserted/updated/deletedij> insert into emp values('e5', 'e4');1 row inserted/updated/deletedij> insert into emp values('e6', 'e5');1 row inserted/updated/deletedij> insert into emp values('e7', 'e6');1 row inserted/updated/deletedij> insert into emp values('e8', 'e7');1 row inserted/updated/deletedij> insert into emp values('e9', 'e8');1 row inserted/updated/deletedij> create trigger trig_emp_delete AFTER UPDATE on empREFERENCING OLD_Table AS updatedrowsfor each statement mode db2sql insert into tempemp select empno, mgr,  'bu' from updatedrows;0 rows inserted/updated/deletedij> create trigger trig_emp_delete1 AFTER UPDATE on empREFERENCING NEW_Table AS updatedrowsfor each statement mode db2sql insert into tempemp select empno, mgr,  'au' from updatedrows;0 rows inserted/updated/deletedij> delete from emp where empno = 'e1';1 row inserted/updated/deletedij> select * from emp;E&|MGR -------e2|NULLe3|NULLe4|e2  e5|e4  e6|e5  e7|e6  e8|e7  e9|e8  ij> select * from tempemp;EMP&|MGR |OP  --------------e2  |e1  |bu  e3  |e1  |bu  e2  |NULL|au  e3  |NULL|au  ij> drop table emp;0 rows inserted/updated/deletedij> drop table tempemp;0 rows inserted/updated/deletedij> --SET NULL UPDATE  ROW triggers on a self referencing tablecreate table emp(empno char(2) not null, mgr char(2), constraint emp primary key(empno),  constraint manages foreign key(mgr) references emp(empno) on delete set null);0 rows inserted/updated/deletedij> create table tempemp(empno char(2) , mgr char(2)  , op char(2));0 rows inserted/updated/deletedij> insert into emp values('e1', null);1 row inserted/updated/deletedij> insert into emp values('e2', 'e1');1 row inserted/updated/deletedij> insert into emp values('e3', 'e1');1 row inserted/updated/deletedij> insert into emp values('e4', 'e2');1 row inserted/updated/deletedij> insert into emp values('e5', 'e4');1 row inserted/updated/deletedij> insert into emp values('e6', 'e5');1 row inserted/updated/deletedij> insert into emp values('e7', 'e6');1 row inserted/updated/deletedij> insert into emp values('e8', 'e7');1 row inserted/updated/deletedij> insert into emp values('e9', 'e8');1 row inserted/updated/deletedij> create trigger trig_emp_delete after UPDATE on empREFERENCING OLD AS updatedrowfor each row mode db2sqlinsert into tempemp values(updatedrow.empno, updatedrow.mgr, 'bu');0 rows inserted/updated/deletedij> create trigger trig_emp_delete1 AFTER UPDATE on empREFERENCING NEW AS updatedrowfor each  row mode db2sqlinsert into tempemp values(updatedrow.empno, updatedrow.mgr, 'au');0 rows inserted/updated/deletedij> delete from emp where empno = 'e1';1 row inserted/updated/deletedij> select * from emp;E&|MGR -------e2|NULLe3|NULLe4|e2  e5|e4  e6|e5  e7|e6  e8|e7  e9|e8  ij> select * from tempemp;EMP&|MGR |OP  --------------e2  |e1  |bu  e3  |e1  |bu  e2  |NULL|au  e3  |NULL|au  ij> delete from emp;8 rows inserted/updated/deletedij> select * from emp;E&|MGR -------ij> select * from tempemp;EMP&|MGR |OP  --------------e2  |e1  |bu  e3  |e1  |bu  e2  |NULL|au  e3  |NULL|au  e4  |e2  |bu  e5  |e4  |bu  e6  |e5  |bu  e7  |e6  |bu  e8  |e7  |bu  e9  |e8  |bu  e4  |NULL|au  e5  |NULL|au  e6  |NULL|au  e7  |NULL|au  e8  |NULL|au  e9  |NULL|au  ij> drop table emp;0 rows inserted/updated/deletedij> drop table tempemp;0 rows inserted/updated/deletedij> -- prepared statements check like in cviewcreate table t1(a int not null primary key);0 rows inserted/updated/deletedij> create table t2(b int references t1(a) ON DELETE SET NULL);0 rows inserted/updated/deletedij> insert into t1 values (1) , (2) , (3) , (4) ;4 rows inserted/updated/deletedij> insert into t2 values (1) , (2) , (3) , (4) ;4 rows inserted/updated/deletedij> autocommit off;ij> prepare sdelete as 'delete from t1 where a = ?' ;ij> execute sdelete using 'values (1)';1 row inserted/updated/deletedij> execute sdelete using 'values (2)';1 row inserted/updated/deletedij> commit;ij> select * from t2;B          -----------3          4          NULL       NULL       ij> execute sdelete using 'values (3)';1 row inserted/updated/deletedij> execute sdelete using 'values (4)';1 row inserted/updated/deletedij> commit;ij> remove sdelete;ij> drop table t2;0 rows inserted/updated/deletedij> create table t2(b int references t1(a) ON DELETE CASCADE);0 rows inserted/updated/deletedij> insert into t1 values (1) , (2) , (3) , (4) ;4 rows inserted/updated/deletedij> insert into t2 values (1) , (2) , (3) , (4) ;4 rows inserted/updated/deletedij> prepare sdelete as 'delete from t1 where a = ?' ;ij> execute sdelete using 'values (1)';1 row inserted/updated/deletedij> execute sdelete using 'values (2)';1 row inserted/updated/deletedij> commit;ij> select * from t2;B          -----------3          4          ij> execute sdelete using 'values (3)';1 row inserted/updated/deletedij> execute sdelete using 'values (4)';1 row inserted/updated/deletedij> commit;ij> remove sdelete;ij> drop table t2;0 rows inserted/updated/deletedij> drop table t1;0 rows inserted/updated/deletedij> autocommit on;ij> --make sure prepared statements are recompiled after a DDL changes workscreate table t1(a int not null primary key);0 rows inserted/updated/deletedij> create table t2(b int references t1(a) ON DELETE CASCADE, c int);0 rows inserted/updated/deletedij> insert into t1 values (1) , (2) , (3) , (4) ;4 rows inserted/updated/deletedij> insert into t2 values (1, 1) , (2, 2) , (3, 3) , (4, 4) ;4 rows inserted/updated/deletedij> autocommit off;ij> prepare sdelete as 'delete from t1 where a = ?' ;ij> execute sdelete using 'values (1)';1 row inserted/updated/deletedij> execute sdelete using 'values (2)';1 row inserted/updated/deletedij> commit;ij> select * from t2;B          |C          -----------------------3          |3          4          |4          ij> create index idx1 on t2(c) ;0 rows inserted/updated/deletedij> execute sdelete using 'values (3)';1 row inserted/updated/deletedij> execute sdelete using 'values (4)';1 row inserted/updated/deletedij> commit;ij> drop table t2;0 rows inserted/updated/deletedij> commit;ij> insert into t1 values(5);1 row inserted/updated/deletedij> execute sdelete using 'values (5)';1 row inserted/updated/deletedij> select * from t1;A          -----------ij> remove sdelete;ij> autocommit on;ij> drop table t1;0 rows inserted/updated/deletedij> commit;ij> --do some rollbacks that involved prepared statement executtionscreate table t1(a int not null primary key);0 rows inserted/updated/deletedij> create table t2(b int references t1(a) ON DELETE CASCADE, c int);0 rows inserted/updated/deletedij> insert into t1 values (1) , (2) , (3) , (4) ;4 rows inserted/updated/deletedij> insert into t2 values (1, 1) , (2, 2) , (3, 3) , (4, 4) ;4 rows inserted/updated/deletedij> commit;ij> autocommit off;ij> prepare sdelete as 'delete from t1 where a = ?' ;ij> execute sdelete using 'values (1)';1 row inserted/updated/deletedij> execute sdelete using 'values (2)';1 row inserted/updated/deletedij> rollback;ij> select * from t2;B          |C          -----------------------1          |1          2          |2          3          |3          4          |4          ij> execute sdelete using 'values (3)';1 row inserted/updated/deletedij> create index idx1 on t2(c) ;0 rows inserted/updated/deletedij> execute sdelete using 'values (4)';1 row inserted/updated/deletedij> commit;ij> select * from t1;A          -----------1          2          ij> select * from t2;B          |C          -----------------------1          |1          2          |2          ij> drop table t2;0 rows inserted/updated/deletedij> rollback;ij> insert into t1 values(5);1 row inserted/updated/deletedij> execute sdelete using 'values (5)';1 row inserted/updated/deletedij> select * from t1;A          -----------1          2          ij> select * from t2;B          |C          -----------------------1          |1          2          |2          ij> remove sdelete;ij> autocommit on;ij> drop table t2;0 rows inserted/updated/deletedij> drop table t1;0 rows inserted/updated/deletedij> ---UNIQUE COLUMN NOT NULL VALUE CHECKS--delete cascade on non-nullable unique columncreate table t1 ( a int not null unique) ;0 rows inserted/updated/deletedij> insert into t1 values(0) ;1 row inserted/updated/deletedij> insert into t1 values(1) ;1 row inserted/updated/deletedij> insert into t1 values(2) ;1 row inserted/updated/deletedij> create table t2(b int references t1(a) ON DELETE CASCADE) ;0 rows inserted/updated/deletedij> insert into t2 values(null) ;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -