123456789101112131415161718192021222324252627282930313233 |
- CREATE TABLE delete_test (
- id SERIAL PRIMARY KEY,
- a INT,
- b text
- );
- INSERT INTO delete_test (a) VALUES (10);
- INSERT INTO delete_test (a, b) VALUES (50, repeat('x', 10000));
- INSERT INTO delete_test (a) VALUES (100);
- -- allow an alias to be specified for DELETE's target table
- DELETE FROM delete_test AS dt WHERE dt.a > 75;
- -- if an alias is specified, don't allow the original table name
- -- to be referenced
- DELETE FROM delete_test dt WHERE delete_test.a > 25;
- ERROR: invalid reference to FROM-clause entry for table "delete_test"
- LINE 1: DELETE FROM delete_test dt WHERE delete_test.a > 25;
- ^
- HINT: Perhaps you meant to reference the table alias "dt".
- SELECT id, a, char_length(b) FROM delete_test;
- id | a | char_length
- ----+----+-------------
- 1 | 10 |
- 2 | 50 | 10000
- (2 rows)
- -- delete a row with a TOASTed value
- DELETE FROM delete_test WHERE a > 25;
- SELECT id, a, char_length(b) FROM delete_test;
- id | a | char_length
- ----+----+-------------
- 1 | 10 |
- (1 row)
- DROP TABLE delete_test;
|