mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / mysql-test / suite / engines / funcs / t / tr_update.test
blob4b4fe9819031da204d052771a47fcdfae4e97330
1 --disable_warnings
2 DROP TABLE IF EXISTS t1,t2,t3;
3 --enable_warnings
4 CREATE TABLE t1 (c1 TINYINT NOT NULL PRIMARY KEY, c2 TINYINT);
5 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
6 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 TINYINT, new1 TINYINT, old2 TINYINT, new2 TINYINT);
7 CREATE TABLE t3(c1 TINYINT NOT NULL PRIMARY KEY, c2 TINYINT);
8 INSERT INTO t3 VALUES(1,0);
9 delimiter //;
10 CREATE TRIGGER tr1 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN 
11 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
12 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
13 END//
14 DELIMITER ;//
15 UPDATE t1 SET c2=10 WHERE c1=1;
16 UPDATE t1 SET c2=10 WHERE c1=0;
17 UPDATE t1 SET c2=10 WHERE c1=NULL;
18 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
19 UPDATE t1 SET c2=10 WHERE c2=3;
20 SELECT * FROM t1 ORDER BY c1;
21 SELECT * FROM t2 ORDER BY c1;
22 SELECT * FROM t3 ORDER BY c1;
23 DROP TABLE t1,t2,t3;
24 CREATE TABLE t1 (c1 SMALLINT NOT NULL PRIMARY KEY, c2 SMALLINT);
25 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
26 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 SMALLINT, new1 SMALLINT, old2 SMALLINT, new2 SMALLINT);
27 CREATE TABLE t3(c1 SMALLINT NOT NULL PRIMARY KEY, c2 SMALLINT);
28 INSERT INTO t3 VALUES(1,0);
29 delimiter //;
30 CREATE TRIGGER tr1 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN 
31 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
32 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
33 END//
34 DELIMITER ;//
35 UPDATE t1 SET c2=10 WHERE c1=1;
36 UPDATE t1 SET c2=10 WHERE c1=0;
37 UPDATE t1 SET c2=10 WHERE c1=NULL;
38 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
39 UPDATE t1 SET c2=10 WHERE c2=3;
40 SELECT * FROM t1 ORDER BY c1;
41 SELECT * FROM t2 ORDER BY c1;
42 SELECT * FROM t3 ORDER BY c1;
43 DROP TABLE t1,t2,t3;
44 CREATE TABLE t1 (c1 MEDIUMINT NOT NULL PRIMARY KEY, c2 MEDIUMINT);
45 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
46 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 MEDIUMINT, new1 MEDIUMINT, old2 MEDIUMINT, new2 MEDIUMINT);
47 CREATE TABLE t3(c1 MEDIUMINT NOT NULL PRIMARY KEY, c2 MEDIUMINT);
48 INSERT INTO t3 VALUES(1,0);
49 delimiter //;
50 CREATE TRIGGER tr1 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN 
51 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
52 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
53 END//
54 DELIMITER ;//
55 UPDATE t1 SET c2=10 WHERE c1=1;
56 UPDATE t1 SET c2=10 WHERE c1=0;
57 UPDATE t1 SET c2=10 WHERE c1=NULL;
58 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
59 UPDATE t1 SET c2=10 WHERE c2=3;
60 SELECT * FROM t1 ORDER BY c1;
61 SELECT * FROM t2 ORDER BY c1;
62 SELECT * FROM t3 ORDER BY c1;
63 DROP TABLE t1,t2,t3;
64 CREATE TABLE t1 (c1 INT NOT NULL PRIMARY KEY, c2 INT);
65 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
66 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 INT, new1 INT, old2 INT, new2 INT);
67 CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 INT);
68 INSERT INTO t3 VALUES(1,0);
69 delimiter //;
70 CREATE TRIGGER tr1 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN 
71 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
72 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
73 END//
74 DELIMITER ;//
75 UPDATE t1 SET c2=10 WHERE c1=1;
76 UPDATE t1 SET c2=10 WHERE c1=0;
77 UPDATE t1 SET c2=10 WHERE c1=NULL;
78 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
79 UPDATE t1 SET c2=10 WHERE c2=3;
80 SELECT * FROM t1 ORDER BY c1;
81 SELECT * FROM t2 ORDER BY c1;
82 SELECT * FROM t3 ORDER BY c1;
83 DROP TABLE t1,t2,t3;
84 CREATE TABLE t1 (c1 INTEGER NOT NULL PRIMARY KEY, c2 INTEGER);
85 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
86 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 INTEGER, new1 INTEGER, old2 INTEGER, new2 INTEGER);
87 CREATE TABLE t3(c1 INTEGER NOT NULL PRIMARY KEY, c2 INTEGER);
88 INSERT INTO t3 VALUES(1,0);
89 delimiter //;
90 CREATE TRIGGER tr1 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN 
91 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
92 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
93 END//
94 DELIMITER ;//
95 UPDATE t1 SET c2=10 WHERE c1=1;
96 UPDATE t1 SET c2=10 WHERE c1=0;
97 UPDATE t1 SET c2=10 WHERE c1=NULL;
98 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
99 UPDATE t1 SET c2=10 WHERE c2=3;
100 SELECT * FROM t1 ORDER BY c1;
101 SELECT * FROM t2 ORDER BY c1;
102 SELECT * FROM t3 ORDER BY c1;
103 DROP TABLE t1,t2,t3;
104 CREATE TABLE t1 (c1 BIGINT NOT NULL PRIMARY KEY, c2 BIGINT);
105 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
106 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 BIGINT, new1 BIGINT, old2 BIGINT, new2 BIGINT);
107 CREATE TABLE t3(c1 BIGINT NOT NULL PRIMARY KEY, c2 BIGINT);
108 INSERT INTO t3 VALUES(1,0);
109 delimiter //;
110 CREATE TRIGGER tr1 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN 
111 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
112 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
113 END//
114 DELIMITER ;//
115 UPDATE t1 SET c2=10 WHERE c1=1;
116 UPDATE t1 SET c2=10 WHERE c1=0;
117 UPDATE t1 SET c2=10 WHERE c1=NULL;
118 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
119 UPDATE t1 SET c2=10 WHERE c2=3;
120 SELECT * FROM t1 ORDER BY c1;
121 SELECT * FROM t2 ORDER BY c1;
122 SELECT * FROM t3 ORDER BY c1;
123 DROP TABLE t1,t2,t3;
124 CREATE TABLE t1 (c1 REAL NOT NULL PRIMARY KEY, c2 REAL);
125 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
126 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 REAL, new1 REAL, old2 REAL, new2 REAL);
127 CREATE TABLE t3(c1 REAL NOT NULL PRIMARY KEY, c2 REAL);
128 INSERT INTO t3 VALUES(1,0);
129 delimiter //;
130 CREATE TRIGGER tr1 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN 
131 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
132 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
133 END//
134 DELIMITER ;//
135 UPDATE t1 SET c2=10 WHERE c1=1;
136 UPDATE t1 SET c2=10 WHERE c1=0;
137 UPDATE t1 SET c2=10 WHERE c1=NULL;
138 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
139 UPDATE t1 SET c2=10 WHERE c2=3;
140 SELECT * FROM t1 ORDER BY c1;
141 SELECT * FROM t2 ORDER BY c1;
142 SELECT * FROM t3 ORDER BY c1;
143 DROP TABLE t1,t2,t3;
144 CREATE TABLE t1 (c1 DOUBLE NOT NULL PRIMARY KEY, c2 DOUBLE);
145 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
146 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 DOUBLE, new1 DOUBLE, old2 DOUBLE, new2 DOUBLE);
147 CREATE TABLE t3(c1 DOUBLE NOT NULL PRIMARY KEY, c2 DOUBLE);
148 INSERT INTO t3 VALUES(1,0);
149 delimiter //;
150 CREATE TRIGGER tr1 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN 
151 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
152 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
153 END//
154 DELIMITER ;//
155 UPDATE t1 SET c2=10 WHERE c1=1;
156 UPDATE t1 SET c2=10 WHERE c1=0;
157 UPDATE t1 SET c2=10 WHERE c1=NULL;
158 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
159 UPDATE t1 SET c2=10 WHERE c2=3;
160 SELECT * FROM t1 ORDER BY c1;
161 SELECT * FROM t2 ORDER BY c1;
162 SELECT * FROM t3 ORDER BY c1;
163 DROP TABLE t1,t2,t3;
164 CREATE TABLE t1 (c1 FLOAT NOT NULL PRIMARY KEY, c2 FLOAT);
165 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
166 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 FLOAT, new1 FLOAT, old2 FLOAT, new2 FLOAT);
167 CREATE TABLE t3(c1 FLOAT NOT NULL PRIMARY KEY, c2 FLOAT);
168 INSERT INTO t3 VALUES(1,0);
169 delimiter //;
170 CREATE TRIGGER tr1 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN 
171 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
172 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
173 END//
174 DELIMITER ;//
175 UPDATE t1 SET c2=10 WHERE c1=1;
176 UPDATE t1 SET c2=10 WHERE c1=0;
177 UPDATE t1 SET c2=10 WHERE c1=NULL;
178 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
179 UPDATE t1 SET c2=10 WHERE c2=3;
180 SELECT * FROM t1 ORDER BY c1;
181 SELECT * FROM t2 ORDER BY c1;
182 SELECT * FROM t3 ORDER BY c1;
183 DROP TABLE t1,t2,t3;
184 CREATE TABLE t1 (c1 DECIMAL NOT NULL PRIMARY KEY, c2 DECIMAL);
185 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
186 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 DECIMAL, new1 DECIMAL, old2 DECIMAL, new2 DECIMAL);
187 CREATE TABLE t3(c1 DECIMAL NOT NULL PRIMARY KEY, c2 DECIMAL);
188 INSERT INTO t3 VALUES(1,0);
189 delimiter //;
190 CREATE TRIGGER tr1 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN 
191 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
192 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
193 END//
194 DELIMITER ;//
195 UPDATE t1 SET c2=10 WHERE c1=1;
196 UPDATE t1 SET c2=10 WHERE c1=0;
197 UPDATE t1 SET c2=10 WHERE c1=NULL;
198 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
199 UPDATE t1 SET c2=10 WHERE c2=3;
200 SELECT * FROM t1 ORDER BY c1;
201 SELECT * FROM t2 ORDER BY c1;
202 SELECT * FROM t3 ORDER BY c1;
203 DROP TABLE t1,t2,t3;
204 CREATE TABLE t1 (c1 NUMERIC NOT NULL PRIMARY KEY, c2 NUMERIC);
205 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
206 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 NUMERIC, new1 NUMERIC, old2 NUMERIC, new2 NUMERIC);
207 CREATE TABLE t3(c1 NUMERIC NOT NULL PRIMARY KEY, c2 NUMERIC);
208 INSERT INTO t3 VALUES(1,0);
209 delimiter //;
210 CREATE TRIGGER tr1 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN 
211 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
212 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
213 END//
214 DELIMITER ;//
215 UPDATE t1 SET c2=10 WHERE c1=1;
216 UPDATE t1 SET c2=10 WHERE c1=0;
217 UPDATE t1 SET c2=10 WHERE c1=NULL;
218 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
219 UPDATE t1 SET c2=10 WHERE c2=3;
220 SELECT * FROM t1 ORDER BY c1;
221 SELECT * FROM t2 ORDER BY c1;
222 SELECT * FROM t3 ORDER BY c1;
223 DROP TABLE t1,t2,t3;
224 CREATE TABLE t1 (c1 TINYINT NOT NULL PRIMARY KEY, c2 TINYINT);
225 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
226 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 TINYINT, new1 TINYINT, old2 TINYINT, new2 TINYINT);
227 CREATE TABLE t3(c1 TINYINT NOT NULL PRIMARY KEY, c2 TINYINT);
228 INSERT INTO t3 VALUES(1,0);
229 delimiter //;
230 CREATE TRIGGER tr1 AFTER UPDATE ON t1 FOR EACH ROW BEGIN 
231 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
232 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
233 END//
234 DELIMITER ;//
235 UPDATE t1 SET c2=10 WHERE c1=1;
236 UPDATE t1 SET c2=10 WHERE c1=0;
237 UPDATE t1 SET c2=10 WHERE c1=NULL;
238 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
239 UPDATE t1 SET c2=10 WHERE c2=3;
240 SELECT * FROM t1 ORDER BY c1;
241 SELECT * FROM t2 ORDER BY c1;
242 SELECT * FROM t3 ORDER BY c1;
243 DROP TABLE t1,t2,t3;
244 CREATE TABLE t1 (c1 SMALLINT NOT NULL PRIMARY KEY, c2 SMALLINT);
245 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
246 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 SMALLINT, new1 SMALLINT, old2 SMALLINT, new2 SMALLINT);
247 CREATE TABLE t3(c1 SMALLINT NOT NULL PRIMARY KEY, c2 SMALLINT);
248 INSERT INTO t3 VALUES(1,0);
249 delimiter //;
250 CREATE TRIGGER tr1 AFTER UPDATE ON t1 FOR EACH ROW BEGIN 
251 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
252 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
253 END//
254 DELIMITER ;//
255 UPDATE t1 SET c2=10 WHERE c1=1;
256 UPDATE t1 SET c2=10 WHERE c1=0;
257 UPDATE t1 SET c2=10 WHERE c1=NULL;
258 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
259 UPDATE t1 SET c2=10 WHERE c2=3;
260 SELECT * FROM t1 ORDER BY c1;
261 SELECT * FROM t2 ORDER BY c1;
262 SELECT * FROM t3 ORDER BY c1;
263 DROP TABLE t1,t2,t3;
264 CREATE TABLE t1 (c1 MEDIUMINT NOT NULL PRIMARY KEY, c2 MEDIUMINT);
265 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
266 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 MEDIUMINT, new1 MEDIUMINT, old2 MEDIUMINT, new2 MEDIUMINT);
267 CREATE TABLE t3(c1 MEDIUMINT NOT NULL PRIMARY KEY, c2 MEDIUMINT);
268 INSERT INTO t3 VALUES(1,0);
269 delimiter //;
270 CREATE TRIGGER tr1 AFTER UPDATE ON t1 FOR EACH ROW BEGIN 
271 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
272 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
273 END//
274 DELIMITER ;//
275 UPDATE t1 SET c2=10 WHERE c1=1;
276 UPDATE t1 SET c2=10 WHERE c1=0;
277 UPDATE t1 SET c2=10 WHERE c1=NULL;
278 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
279 UPDATE t1 SET c2=10 WHERE c2=3;
280 SELECT * FROM t1 ORDER BY c1;
281 SELECT * FROM t2 ORDER BY c1;
282 SELECT * FROM t3 ORDER BY c1;
283 DROP TABLE t1,t2,t3;
284 CREATE TABLE t1 (c1 INT NOT NULL PRIMARY KEY, c2 INT);
285 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
286 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 INT, new1 INT, old2 INT, new2 INT);
287 CREATE TABLE t3(c1 INT NOT NULL PRIMARY KEY, c2 INT);
288 INSERT INTO t3 VALUES(1,0);
289 delimiter //;
290 CREATE TRIGGER tr1 AFTER UPDATE ON t1 FOR EACH ROW BEGIN 
291 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
292 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
293 END//
294 DELIMITER ;//
295 UPDATE t1 SET c2=10 WHERE c1=1;
296 UPDATE t1 SET c2=10 WHERE c1=0;
297 UPDATE t1 SET c2=10 WHERE c1=NULL;
298 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
299 UPDATE t1 SET c2=10 WHERE c2=3;
300 SELECT * FROM t1 ORDER BY c1;
301 SELECT * FROM t2 ORDER BY c1;
302 SELECT * FROM t3 ORDER BY c1;
303 DROP TABLE t1,t2,t3;
304 CREATE TABLE t1 (c1 INTEGER NOT NULL PRIMARY KEY, c2 INTEGER);
305 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
306 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 INTEGER, new1 INTEGER, old2 INTEGER, new2 INTEGER);
307 CREATE TABLE t3(c1 INTEGER NOT NULL PRIMARY KEY, c2 INTEGER);
308 INSERT INTO t3 VALUES(1,0);
309 delimiter //;
310 CREATE TRIGGER tr1 AFTER UPDATE ON t1 FOR EACH ROW BEGIN 
311 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
312 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
313 END//
314 DELIMITER ;//
315 UPDATE t1 SET c2=10 WHERE c1=1;
316 UPDATE t1 SET c2=10 WHERE c1=0;
317 UPDATE t1 SET c2=10 WHERE c1=NULL;
318 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
319 UPDATE t1 SET c2=10 WHERE c2=3;
320 SELECT * FROM t1 ORDER BY c1;
321 SELECT * FROM t2 ORDER BY c1;
322 SELECT * FROM t3 ORDER BY c1;
323 DROP TABLE t1,t2,t3;
324 CREATE TABLE t1 (c1 BIGINT NOT NULL PRIMARY KEY, c2 BIGINT);
325 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
326 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 BIGINT, new1 BIGINT, old2 BIGINT, new2 BIGINT);
327 CREATE TABLE t3(c1 BIGINT NOT NULL PRIMARY KEY, c2 BIGINT);
328 INSERT INTO t3 VALUES(1,0);
329 delimiter //;
330 CREATE TRIGGER tr1 AFTER UPDATE ON t1 FOR EACH ROW BEGIN 
331 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
332 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
333 END//
334 DELIMITER ;//
335 UPDATE t1 SET c2=10 WHERE c1=1;
336 UPDATE t1 SET c2=10 WHERE c1=0;
337 UPDATE t1 SET c2=10 WHERE c1=NULL;
338 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
339 UPDATE t1 SET c2=10 WHERE c2=3;
340 SELECT * FROM t1 ORDER BY c1;
341 SELECT * FROM t2 ORDER BY c1;
342 SELECT * FROM t3 ORDER BY c1;
343 DROP TABLE t1,t2,t3;
344 CREATE TABLE t1 (c1 REAL NOT NULL PRIMARY KEY, c2 REAL);
345 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
346 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 REAL, new1 REAL, old2 REAL, new2 REAL);
347 CREATE TABLE t3(c1 REAL NOT NULL PRIMARY KEY, c2 REAL);
348 INSERT INTO t3 VALUES(1,0);
349 delimiter //;
350 CREATE TRIGGER tr1 AFTER UPDATE ON t1 FOR EACH ROW BEGIN 
351 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
352 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
353 END//
354 DELIMITER ;//
355 UPDATE t1 SET c2=10 WHERE c1=1;
356 UPDATE t1 SET c2=10 WHERE c1=0;
357 UPDATE t1 SET c2=10 WHERE c1=NULL;
358 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
359 UPDATE t1 SET c2=10 WHERE c2=3;
360 SELECT * FROM t1 ORDER BY c1;
361 SELECT * FROM t2 ORDER BY c1;
362 SELECT * FROM t3 ORDER BY c1;
363 DROP TABLE t1,t2,t3;
364 CREATE TABLE t1 (c1 DOUBLE NOT NULL PRIMARY KEY, c2 DOUBLE);
365 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
366 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 DOUBLE, new1 DOUBLE, old2 DOUBLE, new2 DOUBLE);
367 CREATE TABLE t3(c1 DOUBLE NOT NULL PRIMARY KEY, c2 DOUBLE);
368 INSERT INTO t3 VALUES(1,0);
369 delimiter //;
370 CREATE TRIGGER tr1 AFTER UPDATE ON t1 FOR EACH ROW BEGIN 
371 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
372 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
373 END//
374 DELIMITER ;//
375 UPDATE t1 SET c2=10 WHERE c1=1;
376 UPDATE t1 SET c2=10 WHERE c1=0;
377 UPDATE t1 SET c2=10 WHERE c1=NULL;
378 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
379 UPDATE t1 SET c2=10 WHERE c2=3;
380 SELECT * FROM t1 ORDER BY c1;
381 SELECT * FROM t2 ORDER BY c1;
382 SELECT * FROM t3 ORDER BY c1;
383 DROP TABLE t1,t2,t3;
384 CREATE TABLE t1 (c1 FLOAT NOT NULL PRIMARY KEY, c2 FLOAT);
385 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
386 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 FLOAT, new1 FLOAT, old2 FLOAT, new2 FLOAT);
387 CREATE TABLE t3(c1 FLOAT NOT NULL PRIMARY KEY, c2 FLOAT);
388 INSERT INTO t3 VALUES(1,0);
389 delimiter //;
390 CREATE TRIGGER tr1 AFTER UPDATE ON t1 FOR EACH ROW BEGIN 
391 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
392 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
393 END//
394 DELIMITER ;//
395 UPDATE t1 SET c2=10 WHERE c1=1;
396 UPDATE t1 SET c2=10 WHERE c1=0;
397 UPDATE t1 SET c2=10 WHERE c1=NULL;
398 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
399 UPDATE t1 SET c2=10 WHERE c2=3;
400 SELECT * FROM t1 ORDER BY c1;
401 SELECT * FROM t2 ORDER BY c1;
402 SELECT * FROM t3 ORDER BY c1;
403 DROP TABLE t1,t2,t3;
404 CREATE TABLE t1 (c1 DECIMAL NOT NULL PRIMARY KEY, c2 DECIMAL);
405 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
406 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 DECIMAL, new1 DECIMAL, old2 DECIMAL, new2 DECIMAL);
407 CREATE TABLE t3(c1 DECIMAL NOT NULL PRIMARY KEY, c2 DECIMAL);
408 INSERT INTO t3 VALUES(1,0);
409 delimiter //;
410 CREATE TRIGGER tr1 AFTER UPDATE ON t1 FOR EACH ROW BEGIN 
411 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
412 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
413 END//
414 DELIMITER ;//
415 UPDATE t1 SET c2=10 WHERE c1=1;
416 UPDATE t1 SET c2=10 WHERE c1=0;
417 UPDATE t1 SET c2=10 WHERE c1=NULL;
418 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
419 UPDATE t1 SET c2=10 WHERE c2=3;
420 SELECT * FROM t1 ORDER BY c1;
421 SELECT * FROM t2 ORDER BY c1;
422 SELECT * FROM t3 ORDER BY c1;
423 DROP TABLE t1,t2,t3;
424 CREATE TABLE t1 (c1 NUMERIC NOT NULL PRIMARY KEY, c2 NUMERIC);
425 INSERT INTO t1 VALUES(1,1),(2,2),(3,3),(4,4),(6,6),(7,7),(8,8),(9,9),(10,10);
426 CREATE TABLE t2(c1 INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, old1 NUMERIC, new1 NUMERIC, old2 NUMERIC, new2 NUMERIC);
427 CREATE TABLE t3(c1 NUMERIC NOT NULL PRIMARY KEY, c2 NUMERIC);
428 INSERT INTO t3 VALUES(1,0);
429 delimiter //;
430 CREATE TRIGGER tr1 AFTER UPDATE ON t1 FOR EACH ROW BEGIN 
431 INSERT INTO t2 (old1,new1,old2,new2) VALUES(OLD.c1,NEW.c1,OLD.c2,NEW.c2);
432 UPDATE t3 SET c2 = c2 + NEW.c2 WHERE c1 = 1; 
433 END//
434 DELIMITER ;//
435 UPDATE t1 SET c2=10 WHERE c1=1;
436 UPDATE t1 SET c2=10 WHERE c1=0;
437 UPDATE t1 SET c2=10 WHERE c1=NULL;
438 UPDATE t1 SET c2=10 WHERE c1=6 OR c1=7;
439 UPDATE t1 SET c2=10 WHERE c2=3;
440 SELECT * FROM t1 ORDER BY c1;
441 SELECT * FROM t2 ORDER BY c1;
442 SELECT * FROM t3 ORDER BY c1;
443 DROP TABLE t1,t2,t3;