mirror of
https://github.com/chaisql/chai.git
synced 2025-09-26 19:51:21 +08:00
60 lines
1.9 KiB
SQL
60 lines
1.9 KiB
SQL
-- test: type
|
|
CREATE TABLE test(pk INT PRIMARY KEY, a INTEGER);
|
|
SELECT name, sql FROM __chai_catalog WHERE type = "table" AND name = "test";
|
|
/* result:
|
|
{
|
|
"name": "test",
|
|
"sql": "CREATE TABLE test (pk INTEGER NOT NULL, a INTEGER, CONSTRAINT test_pk PRIMARY KEY (pk))"
|
|
}
|
|
*/
|
|
|
|
-- test: NOT NULL
|
|
CREATE TABLE test(pk INT PRIMARY KEY, a INT NOT NULL);
|
|
SELECT name, sql FROM __chai_catalog WHERE type = "table" AND name = "test";
|
|
/* result:
|
|
{
|
|
"name": "test",
|
|
"sql": "CREATE TABLE test (pk INTEGER NOT NULL, a INTEGER NOT NULL, CONSTRAINT test_pk PRIMARY KEY (pk))"
|
|
}
|
|
*/
|
|
|
|
-- test: default
|
|
CREATE TABLE test(pk INT PRIMARY KEY, a INT DEFAULT 10);
|
|
SELECT name, sql FROM __chai_catalog WHERE type = "table" AND name = "test";
|
|
/* result:
|
|
{
|
|
"name": "test",
|
|
"sql": "CREATE TABLE test (pk INTEGER NOT NULL, a INTEGER DEFAULT 10, CONSTRAINT test_pk PRIMARY KEY (pk))"
|
|
}
|
|
*/
|
|
|
|
-- test: unique
|
|
CREATE TABLE test(pk INT PRIMARY KEY, a INT UNIQUE);
|
|
SELECT name, sql FROM __chai_catalog WHERE type = "table" AND name = "test";
|
|
/* result:
|
|
{
|
|
"name": "test",
|
|
"sql": "CREATE TABLE test (pk INTEGER NOT NULL, a INTEGER, CONSTRAINT test_pk PRIMARY KEY (pk), CONSTRAINT test_a_unique UNIQUE (a))"
|
|
}
|
|
*/
|
|
|
|
-- test: check
|
|
CREATE TABLE test(pk INT PRIMARY KEY, a INT CHECK(a > 10));
|
|
SELECT name, sql FROM __chai_catalog WHERE type = "table" AND name = "test";
|
|
/* result:
|
|
{
|
|
"name": "test",
|
|
"sql": "CREATE TABLE test (pk INTEGER NOT NULL, a INTEGER, CONSTRAINT test_pk PRIMARY KEY (pk), CONSTRAINT test_check CHECK (a > 10))"
|
|
}
|
|
*/
|
|
|
|
-- test: all compatible constraints
|
|
CREATE TABLE test(a INT PRIMARY KEY NOT NULL DEFAULT 10 UNIQUE CHECK(a >= 10));
|
|
SELECT name, sql FROM __chai_catalog WHERE type = "table" AND name = "test";
|
|
/* result:
|
|
{
|
|
"name": "test",
|
|
"sql": "CREATE TABLE test (a INTEGER NOT NULL DEFAULT 10, CONSTRAINT test_pk PRIMARY KEY (a), CONSTRAINT test_a_unique UNIQUE (a), CONSTRAINT test_check CHECK (a >= 10))"
|
|
}
|
|
*/
|