Files
email-tracker/external/duckdb/test/sql/generated_columns/virtual/update.test
2025-10-24 19:21:19 -05:00

59 lines
893 B
SQL

# name: test/sql/generated_columns/virtual/update.test
# description: Test that all types of update statements work
# group: [virtual]
statement ok
PRAGMA enable_verification
statement ok
CREATE TABLE test (
foo INTEGER,
bar INTEGER GENERATED ALWAYS AS (foo+1) VIRTUAL,
foobar INTEGER DEFAULT 5
);
statement ok
INSERT INTO test VALUES (5, DEFAULT)
statement ok
INSERT INTO test VALUES (10, 3);
query III
SELECT * FROM test;
----
5 6 5
10 11 3
# Cant UPDATE a generated column
statement error
UPDATE test SET bar = 5
----
# Correctly formatted UPDATE statements work
statement ok
UPDATE test SET foo=3;
query III
SELECT * FROM test;
----
3 4 5
3 4 3
statement ok
UPDATE test SET foo=9001 WHERE (foobar == 3);
query III
SELECT * FROM test;
----
3 4 5
9001 9002 3
statement ok
UPDATE test SET foo=0 WHERE (bar < 9000);
query III
SELECT * FROM test;
----
0 1 5
9001 9002 3