📄 truncate.sql
字号:
-- Test basic TRUNCATE functionality.CREATE TABLE truncate_a (col1 integer primary key);INSERT INTO truncate_a VALUES (1);INSERT INTO truncate_a VALUES (2);SELECT * FROM truncate_a;-- Roll truncate backBEGIN;TRUNCATE truncate_a;ROLLBACK;SELECT * FROM truncate_a;-- Commit the truncate this timeBEGIN;TRUNCATE truncate_a;COMMIT;SELECT * FROM truncate_a;-- Test foreign-key checksCREATE TABLE trunc_b (a int REFERENCES truncate_a);CREATE TABLE trunc_c (a serial PRIMARY KEY);CREATE TABLE trunc_d (a int REFERENCES trunc_c);CREATE TABLE trunc_e (a int REFERENCES truncate_a, b int REFERENCES trunc_c);TRUNCATE TABLE truncate_a; -- failTRUNCATE TABLE truncate_a,trunc_b; -- failTRUNCATE TABLE truncate_a,trunc_b,trunc_e; -- okTRUNCATE TABLE truncate_a,trunc_e; -- failTRUNCATE TABLE trunc_c; -- failTRUNCATE TABLE trunc_c,trunc_d; -- failTRUNCATE TABLE trunc_c,trunc_d,trunc_e; -- okTRUNCATE TABLE trunc_c,trunc_d,trunc_e,truncate_a; -- failTRUNCATE TABLE trunc_c,trunc_d,trunc_e,truncate_a,trunc_b; -- ok-- circular referencesALTER TABLE truncate_a ADD FOREIGN KEY (col1) REFERENCES trunc_c;-- Add some data to verify that truncating actually works ...INSERT INTO trunc_c VALUES (1);INSERT INTO truncate_a VALUES (1);INSERT INTO trunc_b VALUES (1);INSERT INTO trunc_d VALUES (1);INSERT INTO trunc_e VALUES (1,1);TRUNCATE TABLE trunc_c;TRUNCATE TABLE trunc_c,trunc_d;TRUNCATE TABLE trunc_c,trunc_d,trunc_e;TRUNCATE TABLE trunc_c,trunc_d,trunc_e,truncate_a;TRUNCATE TABLE trunc_c,trunc_d,trunc_e,truncate_a,trunc_b;-- Verify that truncating did actually workSELECT * FROM truncate_a UNION ALL SELECT * FROM trunc_c UNION ALL SELECT * FROM trunc_b UNION ALL SELECT * FROM trunc_d;SELECT * FROM trunc_e;DROP TABLE truncate_a,trunc_c,trunc_b,trunc_d,trunc_e CASCADE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -