github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/opt/optbuilder/testdata/create_table (about) 1 # No AS clause. 2 build 3 CREATE TABLE ab (a INT PRIMARY KEY, b INT) 4 ---- 5 create-table 6 └── CREATE TABLE ab (a INT8 PRIMARY KEY, b INT8) 7 8 # With AS clause. 9 build 10 CREATE TABLE ab (a, b) AS SELECT 1, 2 11 ---- 12 create-table 13 ├── CREATE TABLE ab (a, b) AS SELECT 1, 2 14 └── project 15 ├── columns: rowid:3 "?column?":1!null "?column?":2!null 16 ├── project 17 │ ├── columns: "?column?":1!null "?column?":2!null 18 │ ├── values 19 │ │ └── () 20 │ └── projections 21 │ ├── 1 [as="?column?":1] 22 │ └── 2 [as="?column?":2] 23 └── projections 24 └── unique_rowid() [as=rowid:3] 25 26 # Ensure that constraints are hoisted. 27 build 28 CREATE TABLE foo (a INT REFERENCES bar(a), b INT REFERENCES baz(b)) 29 ---- 30 create-table 31 └── CREATE TABLE foo (a INT8, b INT8, FOREIGN KEY (a) REFERENCES bar (a), FOREIGN KEY (b) REFERENCES baz (b)) 32 33 # Schema does not exist. 34 build 35 CREATE TABLE unknown.ab (a INT PRIMARY KEY) 36 ---- 37 error (3F000): cannot create "unknown.ab" because the target database or schema does not exist 38 39 # Schema can only be created in public schema. 40 build 41 CREATE TABLE t.crdb_internal.ab (a INT PRIMARY KEY) 42 ---- 43 error (42602): schema cannot be modified: "t.crdb_internal" 44 45 # Too few input columns. 46 build 47 CREATE TABLE ab (a, b) AS SELECT 1 48 ---- 49 error (42601): CREATE TABLE specifies 2 column names, but data source has 1 column 50 51 # Too many input columns. 52 build 53 CREATE TABLE ab (a, b) AS SELECT 1, 2, 3 54 ---- 55 error (42601): CREATE TABLE specifies 2 column names, but data source has 3 columns 56 57 # Non-existent column. 58 build 59 CREATE TABLE ab (a, b) AS SELECT a 60 ---- 61 error (42703): column "a" does not exist