@@ -14,6 +14,7 @@ INSERT INTO DEFAULT_TBL VALUES (1, 'thomas', 57.0613);
1414INSERT INTO DEFAULT_TBL VALUES (1, 'bruce');
1515INSERT INTO DEFAULT_TBL (i, f) VALUES (2, 987.654);
1616INSERT INTO DEFAULT_TBL (x) VALUES ('tgl');
17+ INSERT INTO DEFAULT_TBL VALUES (3, null, 1.0);
1718
1819SELECT '' AS four, * FROM DEFAULT_TBL;
1920
@@ -66,28 +67,30 @@ CREATE SEQUENCE INSERT_SEQ;
6667
6768CREATE TABLE INSERT_TBL (x INT DEFAULT nextval('insert_seq'),
6869y TEXT DEFAULT '-NULL-', z INT DEFAULT -1 * currval('insert_seq') )
69- CONSTRAINT INSERT_CON CHECK (x > 3 AND y <> 'check failed' AND x < 8),
70+ CONSTRAINT INSERT_CON CHECK (x >= 3 AND y <> 'check failed' AND x < 8),
7071CHECK x + z = 0;
7172
7273INSERT INTO INSERT_TBL VALUES (null, null, null);
73- INSERT INTO INSERT_TBL VALUES (null, null , -2);
74+ INSERT INTO INSERT_TBL(x,z) VALUES (2 , -2);
7475
7576SELECT * FROM INSERT_TBL;
7677SELECT nextval('insert_seq');
7778
78- INSERT INTO INSERT_TBL VALUES (null, null, null);
79- INSERT INTO INSERT_TBL VALUES (1, null, -2);
80- INSERT INTO INSERT_TBL VALUES (7, null, -7);
79+ INSERT INTO INSERT_TBL(y) VALUES ('Y');
80+ INSERT INTO INSERT_TBL(y) VALUES ('Y');
81+ INSERT INTO INSERT_TBL(x,z) VALUES (1, -2);
82+ INSERT INTO INSERT_TBL(z,x) VALUES (-7, 7);
8183INSERT INTO INSERT_TBL VALUES (5, 'check failed', -5);
8284INSERT INTO INSERT_TBL VALUES (7, '!check failed', -7);
83- INSERT INTO INSERT_TBL VALUES (null, null, null );
85+ INSERT INTO INSERT_TBL(y) VALUES ('-!NULL-' );
8486SELECT * FROM INSERT_TBL;
85- INSERT INTO INSERT_TBL VALUES (null, 'check failed', 5 );
86- INSERT INTO INSERT_TBL VALUES (5, 'check failed', null );
87- INSERT INTO INSERT_TBL VALUES (5, '!check failed', null );
88- INSERT INTO INSERT_TBL VALUES (null, null, null );
87+ INSERT INTO INSERT_TBL(y,z) VALUES ('check failed', 4 );
88+ INSERT INTO INSERT_TBL(x,y) VALUES (5, 'check failed');
89+ INSERT INTO INSERT_TBL(x,y) VALUES (5, '!check failed');
90+ INSERT INTO INSERT_TBL(y) VALUES ('-!NULL-' );
8991SELECT * FROM INSERT_TBL;
90- INSERT INTO INSERT_TBL VALUES (null, null, null);
92+ SELECT nextval('insert_seq');
93+ INSERT INTO INSERT_TBL(y) VALUES ('Y');
9194SELECT currval('insert_seq');
9295
9396--
@@ -99,13 +102,14 @@ DROP SEQUENCE INSERT_SEQ;
99102CREATE SEQUENCE INSERT_SEQ START 4;
100103CREATE TABLE TEMP (xd INT, yd TEXT, zd INT);
101104
102- SELECT nextval('insert_seq');
103- INSERT INTO TEMP VALUES (null, null, null);
105+ INSERT INTO TEMP VALUES (null, 'Y', null);
104106INSERT INTO TEMP VALUES (5, '!check failed', null);
105107INSERT INTO TEMP VALUES (null, 'try again', null);
106- INSERT INTO INSERT_TBL SELECT * FROM TEMP;
108+ INSERT INTO INSERT_TBL(y) select yd from TEMP;
107109SELECT * FROM INSERT_TBL;
108110INSERT INTO INSERT_TBL SELECT * FROM TEMP WHERE yd = 'try again';
111+ INSERT INTO INSERT_TBL(y,z) SELECT yd, -7 FROM TEMP WHERE yd = 'try again';
112+ INSERT INTO INSERT_TBL(y,z) SELECT yd, -8 FROM TEMP WHERE yd = 'try again';
109113SELECT * FROM INSERT_TBL;
110114
111115DROP TABLE TEMP;
@@ -115,28 +119,20 @@ DROP TABLE TEMP;
115119--
116120
117121UPDATE INSERT_TBL SET x = NULL WHERE x = 6;
118- SELECT currval('insert_seq');
119- SELECT * FROM INSERT_TBL;
120-
121122UPDATE INSERT_TBL SET x = 6 WHERE x = 6;
122- SELECT * FROM INSERT_TBL;
123-
124123UPDATE INSERT_TBL SET x = -z, z = -x;
124+ UPDATE INSERT_TBL SET x = z, z = x;
125125SELECT * FROM INSERT_TBL;
126126
127127--
128128-- Check constraints on COPY FROM
129129--
130130
131- CREATE SEQUENCE COPY_SEQ START 4;
132- CREATE TABLE COPY_TBL (x INT DEFAULT nextval('copy_seq'),
133- y TEXT DEFAULT '-NULL-', z INT DEFAULT -1 * currval('copy_seq') )
134- CONSTRAINT COPY_CON CHECK (x > 3 AND y <> 'check failed' AND x < 7 ),
135- CHECK x + z = 0;
131+ CREATE TABLE COPY_TBL (x INT, y TEXT, z INT)
132+ CONSTRAINT COPY_CON CHECK (x > 3 AND y <> 'check failed' AND x < 7 );
136133
137134COPY COPY_TBL FROM '_OBJWD_/data/constro.data';
138135SELECT * FROM COPY_TBL;
139136COPY COPY_TBL FROM '_OBJWD_/data/constrf.data';
140137
141138SELECT * FROM COPY_TBL;
142- select nextval('copy_seq') - 1 as currval;
0 commit comments