blob: e7eb3285f88516778daf48a054ea8605454ab10d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
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;
|