1
by brian
clean slate |
1 |
delimiter |; |
2 |
||
3 |
# -------------------------------------------------------------------------- |
|
4 |
||
5 |
CREATE PROCEDURE sp_vars_check_dflt() |
|
6 |
BEGIN
|
|
7 |
DECLARE v1 TINYINT DEFAULT 1e200; |
|
413.2.2
by Brian Aker
Removed UNSIGNED from parser. |
8 |
DECLARE v1u TINYINT DEFAULT 1e200; |
1
by brian
clean slate |
9 |
DECLARE v2 TINYINT DEFAULT -1e200; |
413.2.2
by Brian Aker
Removed UNSIGNED from parser. |
10 |
DECLARE v2u TINYINT DEFAULT -1e200; |
1
by brian
clean slate |
11 |
DECLARE v3 TINYINT DEFAULT 300; |
413.2.2
by Brian Aker
Removed UNSIGNED from parser. |
12 |
DECLARE v3u TINYINT DEFAULT 300; |
1
by brian
clean slate |
13 |
DECLARE v4 TINYINT DEFAULT -300; |
413.2.2
by Brian Aker
Removed UNSIGNED from parser. |
14 |
DECLARE v4u TINYINT DEFAULT -300; |
1
by brian
clean slate |
15 |
|
16 |
DECLARE v5 TINYINT DEFAULT 10 * 10 * 10; |
|
413.2.2
by Brian Aker
Removed UNSIGNED from parser. |
17 |
DECLARE v5u TINYINT DEFAULT 10 * 10 * 10; |
1
by brian
clean slate |
18 |
DECLARE v6 TINYINT DEFAULT -10 * 10 * 10; |
413.2.2
by Brian Aker
Removed UNSIGNED from parser. |
19 |
DECLARE v6u TINYINT DEFAULT -10 * 10 * 10; |
1
by brian
clean slate |
20 |
|
21 |
DECLARE v7 TINYINT DEFAULT '10'; |
|
22 |
DECLARE v8 TINYINT DEFAULT '10 '; |
|
23 |
DECLARE v9 TINYINT DEFAULT ' 10 '; |
|
24 |
DECLARE v10 TINYINT DEFAULT 'String 10 '; |
|
25 |
DECLARE v11 TINYINT DEFAULT 'String10'; |
|
26 |
DECLARE v12 TINYINT DEFAULT '10 String'; |
|
27 |
DECLARE v13 TINYINT DEFAULT '10String'; |
|
28 |
DECLARE v14 TINYINT DEFAULT concat('10', ' '); |
|
29 |
DECLARE v15 TINYINT DEFAULT concat(' ', '10'); |
|
30 |
DECLARE v16 TINYINT DEFAULT concat('Hello, ', 'world'); |
|
31 |
||
32 |
DECLARE v17 DECIMAL(64, 2) DEFAULT 12; |
|
33 |
DECLARE v18 DECIMAL(64, 2) DEFAULT 12.123; |
|
34 |
DECLARE v19 DECIMAL(64, 2) DEFAULT 11 + 1; |
|
35 |
DECLARE v20 DECIMAL(64, 2) DEFAULT 12 + 0.123; |
|
36 |
||
37 |
SELECT v1, v1u, v2, v2u, v3, v3u, v4, v4u; |
|
38 |
SELECT v5, v5u, v6, v6u; |
|
39 |
SELECT v7, v8, v9, v10, v11, v12, v13, v14, v15, v16; |
|
40 |
SELECT v17, v18, v19, v20; |
|
41 |
END| |
|
42 |
||
43 |
# -------------------------------------------------------------------------- |
|
44 |
||
45 |
CREATE PROCEDURE sp_vars_check_assignment() |
|
46 |
BEGIN
|
|
47 |
DECLARE i1, i2, i3, i4 TINYINT; |
|
48 |
DECLARE u1, u2, u3, u4 TINYINT UNSIGNED; |
|
49 |
DECLARE d1, d2, d3 DECIMAL(64, 2); |
|
50 |
||
51 |
SET i1 = 1e200; |
|
52 |
SET i2 = -1e200; |
|
53 |
SET i3 = 300; |
|
54 |
SET i4 = -300; |
|
55 |
||
56 |
SELECT i1, i2, i3, i4; |
|
57 |
||
58 |
SET i1 = 10 * 10 * 10; |
|
59 |
SET i2 = -10 * 10 * 10; |
|
60 |
SET i3 = sign(10 * 10) * 10 * 20; |
|
61 |
SET i4 = sign(-10 * 10) * -10 * 20; |
|
62 |
||
63 |
SELECT i1, i2, i3, i4; |
|
64 |
||
65 |
SET u1 = 1e200; |
|
66 |
SET u2 = -1e200; |
|
67 |
SET u3 = 300; |
|
68 |
SET u4 = -300; |
|
69 |
||
70 |
SELECT u1, u2, u3, u4; |
|
71 |
||
72 |
SET u1 = 10 * 10 * 10; |
|
73 |
SET u2 = -10 * 10 * 10; |
|
74 |
SET u3 = sign(10 * 10) * 10 * 20; |
|
75 |
SET u4 = sign(-10 * 10) * -10 * 20; |
|
76 |
||
77 |
SELECT u1, u2, u3, u4; |
|
78 |
||
79 |
SET d1 = 1234; |
|
80 |
SET d2 = 1234.12; |
|
81 |
SET d3 = 1234.1234; |
|
82 |
||
83 |
SELECT d1, d2, d3; |
|
84 |
||
85 |
SET d1 = 12 * 100 + 34; |
|
86 |
SET d2 = 12 * 100 + 34 + 0.12; |
|
87 |
SET d3 = 12 * 100 + 34 + 0.1234; |
|
88 |
||
89 |
SELECT d1, d2, d3; |
|
90 |
END| |
|
91 |
||
92 |
# -------------------------------------------------------------------------- |
|
93 |
||
94 |
CREATE FUNCTION sp_vars_check_ret1() RETURNS TINYINT |
|
95 |
BEGIN
|
|
96 |
RETURN 1e200; |
|
97 |
END| |
|
98 |
||
99 |
# -------------------------------------------------------------------------- |
|
100 |
||
101 |
CREATE FUNCTION sp_vars_check_ret2() RETURNS TINYINT |
|
102 |
BEGIN
|
|
103 |
RETURN 10 * 10 * 10; |
|
104 |
END| |
|
105 |
||
106 |
# -------------------------------------------------------------------------- |
|
107 |
||
108 |
CREATE FUNCTION sp_vars_check_ret3() RETURNS TINYINT |
|
109 |
BEGIN
|
|
110 |
RETURN 'Hello, world'; |
|
111 |
END| |
|
112 |
||
113 |
# -------------------------------------------------------------------------- |
|
114 |
||
115 |
CREATE FUNCTION sp_vars_check_ret4() RETURNS DECIMAL(64, 2) |
|
116 |
BEGIN
|
|
117 |
RETURN 12 * 10 + 34 + 0.1234; |
|
118 |
END| |
|
119 |
||
120 |
# -------------------------------------------------------------------------- |
|
121 |
||
122 |
CREATE FUNCTION sp_vars_div_zero() RETURNS INTEGER |
|
123 |
BEGIN
|
|
124 |
DECLARE div_zero INTEGER; |
|
125 |
SELECT 1/0 INTO div_zero; |
|
126 |
RETURN div_zero; |
|
127 |
END| |
|
128 |
||
129 |
# -------------------------------------------------------------------------- |
|
130 |
||
131 |
delimiter ;| |