@@ -14,6 +14,7 @@ INSERT INTO DEFAULT_TBL VALUES (1, 'thomas', 57.0613);
14
14
INSERT INTO DEFAULT_TBL VALUES (1, 'bruce');
15
15
INSERT INTO DEFAULT_TBL (i, f) VALUES (2, 987.654);
16
16
INSERT INTO DEFAULT_TBL (x) VALUES ('tgl');
17
+ INSERT INTO DEFAULT_TBL VALUES (3, null, 1.0);
17
18
18
19
SELECT '' AS four, * FROM DEFAULT_TBL;
19
20
@@ -66,28 +67,30 @@ CREATE SEQUENCE INSERT_SEQ;
66
67
67
68
CREATE TABLE INSERT_TBL (x INT DEFAULT nextval('insert_seq'),
68
69
y 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),
70
71
CHECK x + z = 0;
71
72
72
73
INSERT 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);
74
75
75
76
SELECT * FROM INSERT_TBL;
76
77
SELECT nextval('insert_seq');
77
78
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);
81
83
INSERT INTO INSERT_TBL VALUES (5, 'check failed', -5);
82
84
INSERT 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-' );
84
86
SELECT * 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-' );
89
91
SELECT * 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');
91
94
SELECT currval('insert_seq');
92
95
93
96
--
@@ -99,13 +102,14 @@ DROP SEQUENCE INSERT_SEQ;
99
102
CREATE SEQUENCE INSERT_SEQ START 4;
100
103
CREATE TABLE TEMP (xd INT, yd TEXT, zd INT);
101
104
102
- SELECT nextval('insert_seq');
103
- INSERT INTO TEMP VALUES (null, null, null);
105
+ INSERT INTO TEMP VALUES (null, 'Y', null);
104
106
INSERT INTO TEMP VALUES (5, '!check failed', null);
105
107
INSERT 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;
107
109
SELECT * FROM INSERT_TBL;
108
110
INSERT 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';
109
113
SELECT * FROM INSERT_TBL;
110
114
111
115
DROP TABLE TEMP;
@@ -115,28 +119,20 @@ DROP TABLE TEMP;
115
119
--
116
120
117
121
UPDATE INSERT_TBL SET x = NULL WHERE x = 6;
118
- SELECT currval('insert_seq');
119
- SELECT * FROM INSERT_TBL;
120
-
121
122
UPDATE INSERT_TBL SET x = 6 WHERE x = 6;
122
- SELECT * FROM INSERT_TBL;
123
-
124
123
UPDATE INSERT_TBL SET x = -z, z = -x;
124
+ UPDATE INSERT_TBL SET x = z, z = x;
125
125
SELECT * FROM INSERT_TBL;
126
126
127
127
--
128
128
-- Check constraints on COPY FROM
129
129
--
130
130
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 );
136
133
137
134
COPY COPY_TBL FROM '_OBJWD_/data/constro.data';
138
135
SELECT * FROM COPY_TBL;
139
136
COPY COPY_TBL FROM '_OBJWD_/data/constrf.data';
140
137
141
138
SELECT * FROM COPY_TBL;
142
- select nextval('copy_seq') - 1 as currval;
0 commit comments