# name: test/sql/create/create_as.test # description: Test CREATE TABLE AS SELECT (CTAS) statements # group: [create] statement ok PRAGMA enable_verification statement ok CREATE TABLE tbl1 AS SELECT 1; query I SELECT * FROM tbl1; ---- 1 statement ok CREATE TABLE tbl2 AS SELECT 2 AS f; query I SELECT * FROM tbl2; ---- 2 statement ok CREATE OR REPLACE TABLE tbl3 AS SELECT 3; query I SELECT * FROM tbl3; ---- 3 statement error CREATE TABLE tbl1 AS SELECT 3; ---- statement ok CREATE OR REPLACE TABLE tbl1 AS SELECT 4; query I SELECT * FROM tbl1; ---- 4 statement ok CREATE OR REPLACE TABLE tbl1 AS SELECT 'hello' UNION ALL SELECT 'world'; query I SELECT * FROM tbl1; ---- hello world statement ok CREATE OR REPLACE TABLE tbl1 AS SELECT 5 WHERE false; query I SELECT * FROM tbl1; ---- statement error CREATE TABLE tbl4 IF NOT EXISTS AS SELECT 4; ---- Parser Error: syntax error at or near "IF" statement error CREATE OR REPLACE TABLE tbl4 IF NOT EXISTS AS SELECT 4; ---- Parser Error: syntax error at or near "IF" ### CREATE TABLE t(col1, col2) AS SELECT ... statement ok CREATE TABLE tbl4(col1, col2) AS SELECT 1, 'hello'; query II SELECT * FROM tbl4; ---- 1 hello statement ok CREATE OR REPLACE TABLE tbl4(col1, col2) AS SELECT 2, 'duck'; query II SELECT * FROM tbl4; ---- 2 duck statement ok CREATE TABLE IF NOT EXISTS tbl5(col1, col2) AS SELECT 3, 'database'; query II SELECT * FROM tbl5; ---- 3 database # define a column name need quote statement ok CREATE OR REPLACE TABLE tbl5(col1, "col need ' quote") AS SELECT 3.5, 'quote'; query II SELECT * FROM tbl5; ---- 3.5 quote #colname and query mismatch statement ok CREATE TABLE tbl6(col1) AS SELECT 4 ,'mismatch'; query II SELECT * FROM tbl6; ---- 4 mismatch statement error CREATE TABLE tbl7(col1, col2) AS SELECT 5; ---- Binder Error: Target table has more colum names than query result. # WITH NO DATA / WITH DATA statement ok CREATE TABLE tbl8 AS SELECT 42 WITH NO DATA query I SELECT COUNT(*) FROM tbl8; ---- 0 statement ok CREATE TABLE tbl9 AS SELECT 42 WITH DATA query I SELECT COUNT(*) FROM tbl9; ---- 1