📄 delete.out
字号:
ij> ---- this test is for basic delete functionality---- create the tablecreate table t1 (c1 int);0 rows inserted/updated/deletedij> create table t2 (c1 int);0 rows inserted/updated/deletedij> -- negative tests-- table name required for positioned delete and for searched deletedelete;ERROR 42X01: Syntax error: Encountered "<EOF>" at line 4, column 6.ij> -- populate the tableinsert into t1 values (1);1 row inserted/updated/deletedij> insert into t2 select * from t1;1 row inserted/updated/deletedij> -- delete all the rows (only 1)select * from t1;C1 -----------1 ij> delete from t1;1 row inserted/updated/deletedij> select * from t1;C1 -----------ij> -- repopulate the tableinsert into t1 values(2);1 row inserted/updated/deletedij> insert into t1 values(3);1 row inserted/updated/deletedij> -- delete all the rows (multiple rows)select * from t1;C1 -----------2 3 ij> delete from t1;2 rows inserted/updated/deletedij> select * from t1;C1 -----------ij> -- test atomicity of multi row deletescreate table atom_test (c1 smallint);0 rows inserted/updated/deletedij> insert into atom_test values 1, 30000,0, 2;4 rows inserted/updated/deletedij> -- overflowdelete from atom_test where c1 + c1 > 0;ERROR 22003: The resulting value is outside the range for the data type SMALLINT.ij> select * from atom_test;C1 ------1 30000 0 2 ij> -- divide by 0delete from atom_test where c1 / c1 = 1;ERROR 22012: Attempt to divide by zero.ij> select * from atom_test;C1 ------1 30000 0 2 ij> -- target table in source, should be done in deferred mode-- repopulate the tablesinsert into t1 values(1);1 row inserted/updated/deletedij> insert into t1 values(2);1 row inserted/updated/deletedij> insert into t2 select * from t1;2 rows inserted/updated/deletedij> autocommit off;ij> select * from t1;C1 -----------1 2 ij> delete from t1 where c1 <= (select t1.c1 from t1, t2 where t1.c1 = t2.c1 and t1.c1 = 2);2 rows inserted/updated/deletedij> select * from t1;C1 -----------ij> rollback;ij> delete from t1 where c1 >= (select (select c1 from t1 where c1 = 1) from t2 where c1 = 2);2 rows inserted/updated/deletedij> select * from t1;C1 -----------ij> rollback;ij> delete from t1 where c1 >= (select (select c1 from t1 a where c1 = 1) from t2 where c1 = 2);2 rows inserted/updated/deletedij> select * from t1;C1 -----------ij> rollback;ij> -- delete 0 rows - degenerate case for deferred deletedelete from t1 where c1 = (select 1 from t2 where 1 = (select c1 from t1 where c1 = 2) );0 rows inserted/updated/deletedij> select * from t1;C1 -----------1 2 ij> rollback;ij> -- delete 1 rowdelete from t1where c1 = (select c1 from t1 where c1 = 2)and c1 = 2;1 row inserted/updated/deletedij> select * from t1;C1 -----------1 ij> rollback;ij> delete from t1 where c1 <= (select c1 from (select c1 from t1) a where c1 = 2);2 rows inserted/updated/deletedij> select * from t1;C1 -----------ij> rollback;ij> delete from t1 where c1 <= (select c1 from t2 where c1 = 37 union select c1 from t1 where c1 = 2);2 rows inserted/updated/deletedij> select * from t1;C1 -----------ij> rollback;ij> delete from t1 where c1 <= (select c1 from t2 where c1 = 37 union select c1 from (select c1 from t1) a where c1 = 2);2 rows inserted/updated/deletedij> select * from t1;C1 -----------ij> rollback;ij> autocommit on;ij> -- drop the tabledrop table t1;0 rows inserted/updated/deletedij> drop table t2;0 rows inserted/updated/deletedij> drop table atom_test;0 rows inserted/updated/deletedij> ---- here we test extra state lying around in the-- deleteResultSet on a prepared statement that-- is executed multiple times. if we don't-- get a nasty error then we are ok--create table x (x int, y int);0 rows inserted/updated/deletedij> create index ix on x(x);0 rows inserted/updated/deletedij> insert into x values (1,1),(2,2),(3,3);3 rows inserted/updated/deletedij> autocommit off;ij> prepare p as 'delete from x where x = ? and y = ?';ij> execute p using 'values (1,1)';1 row inserted/updated/deletedij> execute p using 'values (2,2)';1 row inserted/updated/deletedij> commit;ij> -- clean upautocommit on;ij> drop table x;0 rows inserted/updated/deletedij>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -