Files
email-tracker/external/duckdb/test/sql/attach/attach_views.test
2025-10-24 19:21:19 -05:00

72 lines
1.1 KiB
SQL

# name: test/sql/attach/attach_views.test
# description: Test views in an attached database
# group: [attach]
statement ok
PRAGMA enable_verification
statement ok
ATTACH DATABASE ':memory:' AS new_database;
statement ok
CREATE TABLE t1 AS SELECT 42 i
statement ok
CREATE SCHEMA new_database.s1;
foreach prefix new_database.s1 new_database
# reference table in other database in view
statement ok
CREATE VIEW ${prefix}.v1 AS SELECT * FROM t1
query I
SELECT * FROM ${prefix}.v1
----
42
# reference table in current database in view
statement ok
CREATE TABLE ${prefix}.t1 AS SELECT 84 i
statement ok
CREATE OR REPLACE VIEW ${prefix}.v1 AS SELECT * FROM ${prefix}.t1
query I
SELECT * FROM ${prefix}.t1
----
84
query I
SELECT * FROM ${prefix}.v1
----
84
# reference tables from different databases in view
statement ok
CREATE OR REPLACE VIEW ${prefix}.v1 AS SELECT * FROM ${prefix}.t1 UNION ALL FROM memory.t1 ORDER BY ALL
query I
SELECT * FROM ${prefix}.v1
----
42
84
# rename view
statement ok
ALTER VIEW ${prefix}.v1 RENAME TO v2
query I
SELECT * FROM ${prefix}.v2
----
42
84
statement ok
DROP VIEW ${prefix}.v2
statement ok
DROP TABLE ${prefix}.t1
endloop