mirror of
https://github.com/MariaDB/server.git
synced 2025-07-24 19:42:23 +03:00
2201 lines
54 KiB
Plaintext
2201 lines
54 KiB
Plaintext
SET sql_mode=ORACLE;
|
|
#
|
|
# MDEV-10914 ROW data type for stored routine variables
|
|
#
|
|
#
|
|
# ROW of ROWs is not supported yet
|
|
#
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW(a ROW(a INT));
|
|
BEGIN
|
|
END;
|
|
$$
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ROW(a INT));
|
|
BEGIN
|
|
END' at line 3
|
|
#
|
|
# Returning the entire ROW parameter from a function
|
|
#
|
|
CREATE FUNCTION f1(a ROW(a INT, b INT)) RETURN INT
|
|
AS
|
|
BEGIN
|
|
RETURN a;
|
|
END;
|
|
$$
|
|
SELECT f1(ROW(10,20));
|
|
ERROR 21000: Operand should contain 1 column(s)
|
|
DROP FUNCTION f1;
|
|
#
|
|
# ROW as an SP parameter
|
|
#
|
|
CREATE FUNCTION f1(a ROW(a INT,b INT)) RETURN INT
|
|
AS
|
|
BEGIN
|
|
RETURN a.b;
|
|
END;
|
|
$$
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW(a INT,b INT):=(11,21);
|
|
BEGIN
|
|
SELECT f1(a);
|
|
END;
|
|
$$
|
|
SELECT f1(ROW(10,20));
|
|
f1(ROW(10,20))
|
|
20
|
|
SELECT f1(10);
|
|
ERROR 21000: Operand should contain 2 column(s)
|
|
SELECT f1(ROW(10,20,30));
|
|
ERROR 21000: Operand should contain 2 column(s)
|
|
CALL p1();
|
|
f1(a)
|
|
21
|
|
DROP PROCEDURE p1;
|
|
DROP FUNCTION f1;
|
|
CREATE PROCEDURE p1(a ROW(a INT,b INT))
|
|
AS
|
|
BEGIN
|
|
SELECT a.a, a.b;
|
|
END;
|
|
$$
|
|
CALL p1(ROW(10,20));
|
|
a.a a.b
|
|
10 20
|
|
CALL p1(10);
|
|
ERROR 21000: Operand should contain 2 column(s)
|
|
CALL p1(ROW(10,20,30));
|
|
ERROR 21000: Operand should contain 2 column(s)
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# ROW as an SP OUT parameter
|
|
#
|
|
CREATE PROCEDURE p1(a OUT ROW(a INT,b INT))
|
|
AS
|
|
BEGIN
|
|
a.a:=10;
|
|
a.b:=20;
|
|
END;
|
|
$$
|
|
CREATE PROCEDURE p2
|
|
AS
|
|
a ROW(a INT,b INT):=(11,21);
|
|
BEGIN
|
|
CALL p1(a);
|
|
SELECT a.a,a.b;
|
|
END;
|
|
$$
|
|
CALL p2();
|
|
a.a a.b
|
|
10 20
|
|
DROP PROCEDURE p2;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# ROW as an SP return value is not supported yet
|
|
#
|
|
CREATE FUNCTION p1() RETURN ROW(a INT)
|
|
AS
|
|
BEGIN
|
|
RETURN NULL;
|
|
END;
|
|
$$
|
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ROW(a INT)
|
|
AS
|
|
BEGIN
|
|
RETURN NULL;
|
|
END' at line 1
|
|
#
|
|
# Diplicate row field
|
|
#
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW (a INT, a DOUBLE);
|
|
BEGIN
|
|
SELECT a.a;
|
|
END;
|
|
$$
|
|
ERROR 42S21: Duplicate column name 'a'
|
|
#
|
|
# Bad scalar default value
|
|
#
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW (a INT, b DOUBLE):= 1;
|
|
BEGIN
|
|
SELECT a.a;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
ERROR 21000: Operand should contain 2 column(s)
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# Bad ROW default value with a wrong number of fields
|
|
#
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW (a INT, b DOUBLE):= ROW(1,2,3);
|
|
BEGIN
|
|
SELECT a.a;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
ERROR 21000: Operand should contain 2 column(s)
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# Bad usage of a scalar variable as a row
|
|
#
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a INT;
|
|
BEGIN
|
|
SELECT a.x FROM t1;
|
|
END;
|
|
$$
|
|
ERROR HY000: 'a' is not a row variable
|
|
#
|
|
# Using the entire ROW variable in select list
|
|
#
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW (a INT);
|
|
BEGIN
|
|
SELECT a;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
ERROR 21000: Operand should contain 1 column(s)
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW (a INT,b INT);
|
|
BEGIN
|
|
SELECT a;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
ERROR 21000: Operand should contain 1 column(s)
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# Using the entire ROW variable in functions
|
|
#
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW (a INT);
|
|
BEGIN
|
|
SELECT COALESCE(a);
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
ERROR 21000: Operand should contain 1 column(s)
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW (a INT,b INT);
|
|
BEGIN
|
|
SELECT COALESCE(a);
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
ERROR 21000: Operand should contain 1 column(s)
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW (a INT);
|
|
BEGIN
|
|
SELECT a+1;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
ERROR 21000: Operand should contain 1 column(s)
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW (a INT,b INT);
|
|
BEGIN
|
|
SELECT a+1;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
ERROR 21000: Operand should contain 1 column(s)
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# Comparing the entire ROW to a scalar value
|
|
#
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW (a INT,b INT);
|
|
BEGIN
|
|
SELECT a=1;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
ERROR 21000: Operand should contain 2 column(s)
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW (a INT,b INT);
|
|
BEGIN
|
|
SELECT 1=a;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
ERROR 21000: Operand should contain 1 column(s)
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# Passing the entire ROW to a stored function
|
|
#
|
|
CREATE FUNCTION f1(a INT) RETURN INT
|
|
AS
|
|
BEGIN
|
|
RETURN a;
|
|
END;
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW (a INT,b INT);
|
|
BEGIN
|
|
SELECT f1(a);
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
ERROR 21000: Operand should contain 1 column(s)
|
|
DROP PROCEDURE p1;
|
|
DROP FUNCTION f1;
|
|
CREATE FUNCTION f1(a INT) RETURN INT
|
|
AS
|
|
BEGIN
|
|
RETURN a;
|
|
END;
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW (a INT);
|
|
BEGIN
|
|
SELECT f1(a);
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
f1(a)
|
|
NULL
|
|
DROP PROCEDURE p1;
|
|
DROP FUNCTION f1;
|
|
#
|
|
# Assigning a scalar value to a ROW variable with 1 column
|
|
#
|
|
CREATE OR REPLACE PROCEDURE p1
|
|
AS
|
|
rec ROW(a INT);
|
|
BEGIN
|
|
rec:=1;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
ERROR 21000: Operand should contain 1 column(s)
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# Assigning a scalar value to a ROW variable with 2 columns
|
|
#
|
|
CREATE OR REPLACE PROCEDURE p1
|
|
AS
|
|
rec ROW(a INT,b INT);
|
|
BEGIN
|
|
rec:=1;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
ERROR 21000: Operand should contain 2 column(s)
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# Assigning a ROW value to a ROW variable with different number of columns
|
|
#
|
|
CREATE OR REPLACE PROCEDURE p1
|
|
AS
|
|
rec ROW(a INT,b INT);
|
|
BEGIN
|
|
rec:=ROW(1,2,3);
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
ERROR 21000: Operand should contain 2 column(s)
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# Returning the entire ROW from a function is not supported yet
|
|
# This syntax would be needed: SELECT f1().x FROM DUAL;
|
|
#
|
|
CREATE FUNCTION f1(a INT) RETURN INT
|
|
AS
|
|
rec ROW(a INT);
|
|
BEGIN
|
|
RETURN rec;
|
|
END;
|
|
$$
|
|
SELECT f1(10);
|
|
ERROR 21000: Operand should contain 1 column(s)
|
|
DROP FUNCTION f1;
|
|
#
|
|
# Using the entire ROW in SELECT..CREATE
|
|
#
|
|
CREATE PROCEDURE p1
|
|
AS
|
|
rec ROW(a INT,b INT);
|
|
BEGIN
|
|
CREATE TABLE t1 AS SELECT rec;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
ERROR 21000: Operand should contain 1 column(s)
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# Using the entire ROW in LIMIT
|
|
#
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
rec ROW(a INT);
|
|
BEGIN
|
|
rec.a:= '10';
|
|
SELECT * FROM t1 LIMIT rec;
|
|
END;
|
|
$$
|
|
ERROR HY000: A variable of a non-integer based type in LIMIT clause
|
|
#
|
|
# Setting ROW fields using a SET command
|
|
#
|
|
CREATE OR REPLACE PROCEDURE p1
|
|
AS
|
|
rec ROW(a INT,b DOUBLE,c VARCHAR(10));
|
|
a INT;
|
|
BEGIN
|
|
SET @a= 10, rec.a=10, rec.b=20, rec.c= 'test', a= 5;
|
|
SELECT rec.a, rec.b, rec.c, a;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
rec.a rec.b rec.c a
|
|
10 20 test 5
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# Assigning a ROW variable from a ROW value
|
|
#
|
|
CREATE PROCEDURE p1
|
|
AS
|
|
rec ROW(a INT,b INT);
|
|
BEGIN
|
|
rec:=ROW(1,2);
|
|
SELECT rec.a, rec.b;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
rec.a rec.b
|
|
1 2
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# Assigning a ROW variable from another ROW value
|
|
#
|
|
CREATE PROCEDURE p1
|
|
AS
|
|
rec1 ROW(a INT,b INT);
|
|
rec2 ROW(a INT,b INT);
|
|
BEGIN
|
|
rec1:=ROW(1,2);
|
|
rec2:=rec1;
|
|
SELECT rec2.a, rec2.b;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
rec2.a rec2.b
|
|
1 2
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# Comparing a ROW variable to a ROW() function
|
|
#
|
|
CREATE OR REPLACE PROCEDURE p1
|
|
AS
|
|
rec ROW(a INT,b INT);
|
|
BEGIN
|
|
rec.a:= 1;
|
|
rec.b:= 2;
|
|
SELECT rec=(0,0), rec=ROW(0,0), (0,0)=rec, ROW(0,0)=rec;
|
|
SELECT rec=(1,2), rec=ROW(1,2), (1,2)=rec, ROW(1,2)=rec;
|
|
SELECT rec=(NULL,0), rec=ROW(NULL,0);
|
|
SELECT rec=(NULL,2), rec=ROW(NULL,2);
|
|
SELECT rec<>(0,0), rec<>ROW(0,0);
|
|
SELECT rec<>(1,2), rec<>ROW(1,2);
|
|
SELECT rec<>(NULL,0), rec<>ROW(NULL,0);
|
|
SELECT rec<>(NULL,2), rec<>ROW(NULL,2);
|
|
SELECT rec IN ((0,0)), rec IN (ROW(0,0));
|
|
SELECT rec IN ((1,2)), rec IN (ROW(1,2));
|
|
SELECT rec IN ((0,NULL),(1,2));
|
|
SELECT rec NOT IN ((0,NULL),(1,1));
|
|
SELECT rec NOT IN ((1,NULL),(1,1));
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
rec=(0,0) rec=ROW(0,0) (0,0)=rec ROW(0,0)=rec
|
|
0 0 0 0
|
|
rec=(1,2) rec=ROW(1,2) (1,2)=rec ROW(1,2)=rec
|
|
1 1 1 1
|
|
rec=(NULL,0) rec=ROW(NULL,0)
|
|
0 0
|
|
rec=(NULL,2) rec=ROW(NULL,2)
|
|
NULL NULL
|
|
rec<>(0,0) rec<>ROW(0,0)
|
|
1 1
|
|
rec<>(1,2) rec<>ROW(1,2)
|
|
0 0
|
|
rec<>(NULL,0) rec<>ROW(NULL,0)
|
|
1 1
|
|
rec<>(NULL,2) rec<>ROW(NULL,2)
|
|
NULL NULL
|
|
rec IN ((0,0)) rec IN (ROW(0,0))
|
|
0 0
|
|
rec IN ((1,2)) rec IN (ROW(1,2))
|
|
1 1
|
|
rec IN ((0,NULL),(1,2))
|
|
1
|
|
rec NOT IN ((0,NULL),(1,1))
|
|
1
|
|
rec NOT IN ((1,NULL),(1,1))
|
|
NULL
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# Comparing a ROW variable to another ROW variable
|
|
#
|
|
CREATE OR REPLACE PROCEDURE p1
|
|
AS
|
|
rec1,rec2,rec3 ROW(a INT,b INT);
|
|
BEGIN
|
|
rec1.a:= 1;
|
|
rec1.b:= 2;
|
|
rec2.a:= 11;
|
|
rec2.b:= 12;
|
|
rec3.a:= 11;
|
|
rec3.b:= 12;
|
|
SELECT rec1=rec2, rec2=rec1, rec2=rec3, rec3=rec2;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
rec1=rec2 rec2=rec1 rec2=rec3 rec3=rec2
|
|
0 0 1 1
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# Referencing a non-existing row variable
|
|
#
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
BEGIN
|
|
SET a.b=1;
|
|
END;
|
|
$$
|
|
ERROR HY000: Unknown structured system variable or ROW routine variable 'a'
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
BEGIN
|
|
a.b:=1;
|
|
END;
|
|
$$
|
|
ERROR HY000: Unknown structured system variable or ROW routine variable 'a'
|
|
#
|
|
# Referencing a non-existing row field
|
|
#
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW(a INT,b INT);
|
|
BEGIN
|
|
SELECT a.c FROM t1;
|
|
END;
|
|
$$
|
|
ERROR HY000: Row variable 'a' does not have a field 'c'
|
|
#
|
|
# ROW and scalar variables with the same name shadowing each other
|
|
#
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW(a INT);
|
|
BEGIN
|
|
a.a:=100;
|
|
DECLARE
|
|
a INT:= 200;
|
|
BEGIN
|
|
SELECT a;
|
|
DECLARE
|
|
a ROW(a INT);
|
|
BEGIN
|
|
a.a:=300;
|
|
SELECT a.a;
|
|
END;
|
|
SELECT a;
|
|
END;
|
|
SELECT a.a;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
a
|
|
200
|
|
a.a
|
|
300
|
|
a
|
|
200
|
|
a.a
|
|
100
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# ROW with good default values
|
|
#
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
a ROW(a INT,b INT):= (10,20);
|
|
b ROW(a INT,b INT):= (11,21);
|
|
c ROW(a INT,b INT):= a;
|
|
BEGIN
|
|
SELECT a.a, a.b, b.a, b.b, c.a, c.b FROM DUAL;
|
|
END;
|
|
$$
|
|
CALL p1;
|
|
a.a a.b b.a b.b c.a c.b
|
|
10 20 11 21 10 20
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# ROW in WHERE clause
|
|
#
|
|
CREATE TABLE t1 (a INT,b INT);
|
|
INSERT INTO t1 VALUES (10,20);
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
rec ROW(a INT,b INT):=ROW(10,20);
|
|
BEGIN
|
|
SELECT * FROM t1 WHERE rec=ROW(a,b);
|
|
SELECT * FROM t1 WHERE ROW(a,b)=rec;
|
|
SELECT * FROM t1 WHERE rec=ROW(10,20);
|
|
SELECT * FROM t1 WHERE ROW(10,20)=rec;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
a b
|
|
10 20
|
|
a b
|
|
10 20
|
|
a b
|
|
10 20
|
|
a b
|
|
10 20
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# ROW fields in WHERE clause
|
|
#
|
|
CREATE TABLE t1 (a INT);
|
|
INSERT INTO t1 VALUES (10),(20);
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
rec ROW(a INT);
|
|
BEGIN
|
|
rec.a:= 10;
|
|
SELECT * FROM t1 WHERE a=rec.a;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
a
|
|
10
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# ROW fields in HAVING clause
|
|
#
|
|
CREATE TABLE t1 (a INT);
|
|
INSERT INTO t1 VALUES (10),(20);
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
rec ROW(a INT);
|
|
BEGIN
|
|
rec.a:= 10;
|
|
SELECT * FROM t1 HAVING a=rec.a;
|
|
SELECT * FROM t1 HAVING MIN(a)=rec.a;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
a
|
|
10
|
|
a
|
|
10
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# ROW fields in LIMIT clause
|
|
#
|
|
CREATE TABLE t1 (a INT);
|
|
SELECT 1 FROM t1 LIMIT t1.a;
|
|
ERROR 42000: Undeclared variable: t1
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (a INT);
|
|
INSERT INTO t1 VALUES (10),(20);
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
rec ROW(a INT);
|
|
BEGIN
|
|
rec.a:= 10;
|
|
SELECT * FROM t1 LIMIT rec.a;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
a
|
|
10
|
|
20
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
rec ROW(a VARCHAR(10));
|
|
BEGIN
|
|
rec.a:= '10';
|
|
SELECT * FROM t1 LIMIT rec.a;
|
|
END;
|
|
$$
|
|
ERROR HY000: A variable of a non-integer based type in LIMIT clause
|
|
#
|
|
# ROW fields in select list
|
|
#
|
|
CREATE TABLE t1 (a INT);
|
|
INSERT INTO t1 VALUES (10),(20);
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
t1 ROW(a INT);
|
|
BEGIN
|
|
t1.a:= 10;
|
|
SELECT t1.a, 'This is the variable t1.a value, rather than the column t1.a' AS comm FROM t1;
|
|
SELECT t1.a, t2.a, t1.a+t2.a FROM t1 t2;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
t1.a comm
|
|
10 This is the variable t1.a value, rather than the column t1.a
|
|
10 This is the variable t1.a value, rather than the column t1.a
|
|
t1.a a t1.a+t2.a
|
|
10 10 20
|
|
10 20 30
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# ROW fields as insert values
|
|
#
|
|
CREATE TABLE t1 (a INT, b VARCHAR(10));
|
|
CREATE PROCEDURE p1()
|
|
AS
|
|
rec ROW(a INT, b VARCHAR(10));
|
|
BEGIN
|
|
rec.a:= 10;
|
|
rec.b:= 'test';
|
|
INSERT INTO t1 VALUES (rec.a, rec.b);
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
SELECT * FROM t1;
|
|
a b
|
|
10 test
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# ROW fields as SP out parameters
|
|
#
|
|
CREATE PROCEDURE p1(a OUT INT, b OUT VARCHAR)
|
|
AS
|
|
BEGIN
|
|
a:= 10;
|
|
b:= 'test';
|
|
END;
|
|
$$
|
|
CREATE PROCEDURE p2
|
|
AS
|
|
rec ROW(a INT, b VARCHAR(10));
|
|
BEGIN
|
|
CALL p1(rec.a, rec.b);
|
|
SELECT rec.a, rec.b;
|
|
END;
|
|
$$
|
|
CALL p2;
|
|
rec.a rec.b
|
|
10 test
|
|
DROP PROCEDURE p1;
|
|
DROP PROCEDURE p2;
|
|
#
|
|
# ROW fields as dynamic SQL out parameters
|
|
#
|
|
CREATE PROCEDURE p1(a OUT INT, b OUT VARCHAR)
|
|
AS
|
|
BEGIN
|
|
a:= 20;
|
|
b:= 'test-dynamic-sql';
|
|
END;
|
|
$$
|
|
CREATE PROCEDURE p2
|
|
AS
|
|
rec ROW(a INT, b VARCHAR(30));
|
|
BEGIN
|
|
EXECUTE IMMEDIATE 'CALL p1(?,?)' USING rec.a, rec.b;
|
|
SELECT rec.a, rec.b;
|
|
END;
|
|
$$
|
|
CALL p2;
|
|
rec.a rec.b
|
|
20 test-dynamic-sql
|
|
DROP PROCEDURE p1;
|
|
DROP PROCEDURE p2;
|
|
#
|
|
# ROW fields as SELECT..INTO targets
|
|
#
|
|
CREATE PROCEDURE p1
|
|
AS
|
|
rec ROW(a INT, b VARCHAR(10));
|
|
BEGIN
|
|
SELECT 10,'test' INTO rec.a,rec.b;
|
|
SELECT rec.a, rec.b;
|
|
END;
|
|
$$
|
|
CALL p1;
|
|
rec.a rec.b
|
|
10 test
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# Implicit default NULL handling
|
|
#
|
|
CREATE PROCEDURE p1
|
|
AS
|
|
rec ROW(a INT, b VARCHAR(10), c DOUBLE, d DECIMAL(10,0), e TIME, f DATETIME);
|
|
BEGIN
|
|
SELECT rec.a, rec.b, rec.c, rec.d, rec.e, rec.f FROM DUAL;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
rec.a rec.b rec.c rec.d rec.e rec.f
|
|
NULL NULL NULL NULL NULL NULL
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# NULL handling
|
|
#
|
|
CREATE PROCEDURE p1
|
|
AS
|
|
rec1 ROW(a INT, b VARCHAR(10)):=(NULL,NULL);
|
|
rec2 ROW(a INT, b VARCHAR(10)):=rec1;
|
|
BEGIN
|
|
SELECT rec1.a, rec1.b, rec2.a, rec2.b;
|
|
rec1:= (10,20);
|
|
rec2:= rec1;
|
|
SELECT rec1.a, rec1.b, rec2.a, rec2.b;
|
|
rec1:= (NULL,20);
|
|
rec2:= rec1;
|
|
SELECT rec1.a, rec1.b, rec2.a, rec2.b;
|
|
rec1:= (10,NULL);
|
|
rec2:= rec1;
|
|
SELECT rec1.a, rec1.b, rec2.a, rec2.b;
|
|
rec1:= (NULL,NULL);
|
|
rec2:= rec1;
|
|
SELECT rec1.a, rec1.b, rec2.a, rec2.b;
|
|
END;
|
|
$$
|
|
CALL p1;
|
|
rec1.a rec1.b rec2.a rec2.b
|
|
NULL NULL NULL NULL
|
|
rec1.a rec1.b rec2.a rec2.b
|
|
10 20 10 20
|
|
rec1.a rec1.b rec2.a rec2.b
|
|
NULL 20 NULL 20
|
|
rec1.a rec1.b rec2.a rec2.b
|
|
10 NULL 10 NULL
|
|
rec1.a rec1.b rec2.a rec2.b
|
|
NULL NULL NULL NULL
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# Testing multiple ROW variable declarations
|
|
# This makes sure that fill_field_definitions() is called only once
|
|
# per a ROW field, so create length is not converted to internal length
|
|
# multiple times.
|
|
#
|
|
CREATE PROCEDURE p1
|
|
AS
|
|
rec1, rec2, rec3 ROW(a VARCHAR(10) CHARACTER SET utf8);
|
|
BEGIN
|
|
CREATE TABLE t1 AS SELECT rec1.a, rec2.a, rec3.a;
|
|
END;
|
|
$$
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"rec1.a" varchar(10) CHARACTER SET utf8 DEFAULT NULL,
|
|
"rec2.a" varchar(10) CHARACTER SET utf8 DEFAULT NULL,
|
|
"rec3.a" varchar(10) CHARACTER SET utf8 DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# INT
|
|
#
|
|
CREATE PROCEDURE p1() AS var INT; rec ROW(var INT); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(11) DEFAULT NULL,
|
|
"rec.var" bigint(11) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var INT(1); rec ROW(var INT(1)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(11) DEFAULT NULL,
|
|
"rec.var" bigint(11) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var INT(2); rec ROW(var INT(2)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(11) DEFAULT NULL,
|
|
"rec.var" bigint(11) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var INT(3); rec ROW(var INT(3)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(11) DEFAULT NULL,
|
|
"rec.var" bigint(11) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var INT(4); rec ROW(var INT(4)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(11) DEFAULT NULL,
|
|
"rec.var" bigint(11) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var INT(5); rec ROW(var INT(5)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(11) DEFAULT NULL,
|
|
"rec.var" bigint(11) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var INT(6); rec ROW(var INT(6)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(11) DEFAULT NULL,
|
|
"rec.var" bigint(11) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var INT(7); rec ROW(var INT(7)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(11) DEFAULT NULL,
|
|
"rec.var" bigint(11) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var INT(8); rec ROW(var INT(8)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(11) DEFAULT NULL,
|
|
"rec.var" bigint(11) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var INT(9); rec ROW(var INT(9)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(11) DEFAULT NULL,
|
|
"rec.var" bigint(11) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var INT(10); rec ROW(var INT(10)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(11) DEFAULT NULL,
|
|
"rec.var" bigint(11) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var INT(11); rec ROW(var INT(11)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(11) DEFAULT NULL,
|
|
"rec.var" bigint(11) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var INT(12); rec ROW(var INT(12)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(12) DEFAULT NULL,
|
|
"rec.var" bigint(12) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var INT(13); rec ROW(var INT(13)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(13) DEFAULT NULL,
|
|
"rec.var" bigint(13) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var INT(14); rec ROW(var INT(14)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(14) DEFAULT NULL,
|
|
"rec.var" bigint(14) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var INT(20); rec ROW(var INT(20)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var INT(21); rec ROW(var INT(21)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(21) DEFAULT NULL,
|
|
"rec.var" bigint(21) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# TINYINT
|
|
#
|
|
CREATE PROCEDURE p1() AS var TINYINT; rec ROW(var TINYINT); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(4) DEFAULT NULL,
|
|
"rec.var" int(4) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYINT(1); rec ROW(var TINYINT(1)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(4) DEFAULT NULL,
|
|
"rec.var" int(4) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYINT(2); rec ROW(var TINYINT(2)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(4) DEFAULT NULL,
|
|
"rec.var" int(4) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYINT(3); rec ROW(var TINYINT(3)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(4) DEFAULT NULL,
|
|
"rec.var" int(4) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYINT(4); rec ROW(var TINYINT(4)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(4) DEFAULT NULL,
|
|
"rec.var" int(4) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYINT(5); rec ROW(var TINYINT(5)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(5) DEFAULT NULL,
|
|
"rec.var" int(5) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYINT(6); rec ROW(var TINYINT(6)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(6) DEFAULT NULL,
|
|
"rec.var" int(6) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYINT(7); rec ROW(var TINYINT(7)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(7) DEFAULT NULL,
|
|
"rec.var" int(7) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYINT(8); rec ROW(var TINYINT(8)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(8) DEFAULT NULL,
|
|
"rec.var" int(8) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYINT(9); rec ROW(var TINYINT(9)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(9) DEFAULT NULL,
|
|
"rec.var" int(9) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYINT(10); rec ROW(var TINYINT(10)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(10) DEFAULT NULL,
|
|
"rec.var" bigint(10) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYINT(11); rec ROW(var TINYINT(11)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(11) DEFAULT NULL,
|
|
"rec.var" bigint(11) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYINT(12); rec ROW(var TINYINT(12)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(12) DEFAULT NULL,
|
|
"rec.var" bigint(12) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYINT(13); rec ROW(var TINYINT(13)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(13) DEFAULT NULL,
|
|
"rec.var" bigint(13) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYINT(14); rec ROW(var TINYINT(14)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(14) DEFAULT NULL,
|
|
"rec.var" bigint(14) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYINT(20); rec ROW(var TINYINT(20)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYINT(21); rec ROW(var TINYINT(21)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(21) DEFAULT NULL,
|
|
"rec.var" bigint(21) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# SMALLINT
|
|
#
|
|
CREATE PROCEDURE p1() AS var SMALLINT; rec ROW(var SMALLINT); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(6) DEFAULT NULL,
|
|
"rec.var" int(6) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var SMALLINT(1); rec ROW(var SMALLINT(1)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(6) DEFAULT NULL,
|
|
"rec.var" int(6) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var SMALLINT(2); rec ROW(var SMALLINT(2)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(6) DEFAULT NULL,
|
|
"rec.var" int(6) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var SMALLINT(3); rec ROW(var SMALLINT(3)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(6) DEFAULT NULL,
|
|
"rec.var" int(6) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var SMALLINT(4); rec ROW(var SMALLINT(4)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(6) DEFAULT NULL,
|
|
"rec.var" int(6) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var SMALLINT(5); rec ROW(var SMALLINT(5)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(6) DEFAULT NULL,
|
|
"rec.var" int(6) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var SMALLINT(6); rec ROW(var SMALLINT(6)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(6) DEFAULT NULL,
|
|
"rec.var" int(6) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var SMALLINT(7); rec ROW(var SMALLINT(7)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(7) DEFAULT NULL,
|
|
"rec.var" int(7) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var SMALLINT(8); rec ROW(var SMALLINT(8)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(8) DEFAULT NULL,
|
|
"rec.var" int(8) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var SMALLINT(9); rec ROW(var SMALLINT(9)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(9) DEFAULT NULL,
|
|
"rec.var" int(9) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var SMALLINT(10); rec ROW(var SMALLINT(10)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(10) DEFAULT NULL,
|
|
"rec.var" bigint(10) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var SMALLINT(11); rec ROW(var SMALLINT(11)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(11) DEFAULT NULL,
|
|
"rec.var" bigint(11) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var SMALLINT(12); rec ROW(var SMALLINT(12)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(12) DEFAULT NULL,
|
|
"rec.var" bigint(12) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var SMALLINT(13); rec ROW(var SMALLINT(13)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(13) DEFAULT NULL,
|
|
"rec.var" bigint(13) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var SMALLINT(14); rec ROW(var SMALLINT(14)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(14) DEFAULT NULL,
|
|
"rec.var" bigint(14) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var SMALLINT(20); rec ROW(var SMALLINT(20)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var SMALLINT(21); rec ROW(var SMALLINT(21)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(21) DEFAULT NULL,
|
|
"rec.var" bigint(21) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# MEDIUMINT
|
|
#
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT; rec ROW(var MEDIUMINT); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(9) DEFAULT NULL,
|
|
"rec.var" int(9) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT(1); rec ROW(var MEDIUMINT(1)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(9) DEFAULT NULL,
|
|
"rec.var" int(9) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT(2); rec ROW(var MEDIUMINT(2)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(9) DEFAULT NULL,
|
|
"rec.var" int(9) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT(3); rec ROW(var MEDIUMINT(3)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(9) DEFAULT NULL,
|
|
"rec.var" int(9) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT(4); rec ROW(var MEDIUMINT(4)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(9) DEFAULT NULL,
|
|
"rec.var" int(9) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT(5); rec ROW(var MEDIUMINT(5)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(9) DEFAULT NULL,
|
|
"rec.var" int(9) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT(6); rec ROW(var MEDIUMINT(6)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(9) DEFAULT NULL,
|
|
"rec.var" int(9) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT(7); rec ROW(var MEDIUMINT(7)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(9) DEFAULT NULL,
|
|
"rec.var" int(9) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT(8); rec ROW(var MEDIUMINT(8)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(9) DEFAULT NULL,
|
|
"rec.var" int(9) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT(9); rec ROW(var MEDIUMINT(9)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" int(9) DEFAULT NULL,
|
|
"rec.var" int(9) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT(10); rec ROW(var MEDIUMINT(10)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(10) DEFAULT NULL,
|
|
"rec.var" bigint(10) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT(11); rec ROW(var MEDIUMINT(11)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(11) DEFAULT NULL,
|
|
"rec.var" bigint(11) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT(12); rec ROW(var MEDIUMINT(12)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(12) DEFAULT NULL,
|
|
"rec.var" bigint(12) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT(13); rec ROW(var MEDIUMINT(13)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(13) DEFAULT NULL,
|
|
"rec.var" bigint(13) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT(14); rec ROW(var MEDIUMINT(14)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(14) DEFAULT NULL,
|
|
"rec.var" bigint(14) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT(20); rec ROW(var MEDIUMINT(20)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMINT(21); rec ROW(var MEDIUMINT(21)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(21) DEFAULT NULL,
|
|
"rec.var" bigint(21) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# BIGINT
|
|
#
|
|
CREATE PROCEDURE p1() AS var BIGINT; rec ROW(var BIGINT); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BIGINT(1); rec ROW(var BIGINT(1)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BIGINT(2); rec ROW(var BIGINT(2)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BIGINT(3); rec ROW(var BIGINT(3)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BIGINT(4); rec ROW(var BIGINT(4)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BIGINT(5); rec ROW(var BIGINT(5)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BIGINT(6); rec ROW(var BIGINT(6)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BIGINT(7); rec ROW(var BIGINT(7)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BIGINT(8); rec ROW(var BIGINT(8)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BIGINT(9); rec ROW(var BIGINT(9)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BIGINT(10); rec ROW(var BIGINT(10)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BIGINT(11); rec ROW(var BIGINT(11)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BIGINT(12); rec ROW(var BIGINT(12)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BIGINT(13); rec ROW(var BIGINT(13)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BIGINT(14); rec ROW(var BIGINT(14)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BIGINT(20); rec ROW(var BIGINT(20)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(20) DEFAULT NULL,
|
|
"rec.var" bigint(20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BIGINT(21); rec ROW(var BIGINT(21)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" bigint(21) DEFAULT NULL,
|
|
"rec.var" bigint(21) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# DOUBLE
|
|
#
|
|
CREATE PROCEDURE p1() AS var DOUBLE; rec ROW(var DOUBLE); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double DEFAULT NULL,
|
|
"rec.var" double DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DOUBLE(30,1); rec ROW(var DOUBLE(30,1)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double(30,1) DEFAULT NULL,
|
|
"rec.var" double(30,1) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DOUBLE(30,2); rec ROW(var DOUBLE(30,2)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double(30,2) DEFAULT NULL,
|
|
"rec.var" double(30,2) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DOUBLE(30,3); rec ROW(var DOUBLE(30,3)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double(30,3) DEFAULT NULL,
|
|
"rec.var" double(30,3) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DOUBLE(30,4); rec ROW(var DOUBLE(30,4)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double(30,4) DEFAULT NULL,
|
|
"rec.var" double(30,4) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DOUBLE(30,5); rec ROW(var DOUBLE(30,5)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double(30,5) DEFAULT NULL,
|
|
"rec.var" double(30,5) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DOUBLE(30,6); rec ROW(var DOUBLE(30,6)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double(30,6) DEFAULT NULL,
|
|
"rec.var" double(30,6) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DOUBLE(30,7); rec ROW(var DOUBLE(30,7)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double(30,7) DEFAULT NULL,
|
|
"rec.var" double(30,7) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DOUBLE(30,8); rec ROW(var DOUBLE(30,8)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double(30,8) DEFAULT NULL,
|
|
"rec.var" double(30,8) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DOUBLE(30,9); rec ROW(var DOUBLE(30,9)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double(30,9) DEFAULT NULL,
|
|
"rec.var" double(30,9) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DOUBLE(30,10); rec ROW(var DOUBLE(30,10)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double(30,10) DEFAULT NULL,
|
|
"rec.var" double(30,10) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DOUBLE(30,11); rec ROW(var DOUBLE(30,11)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double(30,11) DEFAULT NULL,
|
|
"rec.var" double(30,11) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DOUBLE(30,12); rec ROW(var DOUBLE(30,12)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double(30,12) DEFAULT NULL,
|
|
"rec.var" double(30,12) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DOUBLE(30,13); rec ROW(var DOUBLE(30,13)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double(30,13) DEFAULT NULL,
|
|
"rec.var" double(30,13) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DOUBLE(30,14); rec ROW(var DOUBLE(30,14)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double(30,14) DEFAULT NULL,
|
|
"rec.var" double(30,14) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DOUBLE(30,20); rec ROW(var DOUBLE(30,20)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double(30,20) DEFAULT NULL,
|
|
"rec.var" double(30,20) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DOUBLE(30,21); rec ROW(var DOUBLE(30,21)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" double(30,21) DEFAULT NULL,
|
|
"rec.var" double(30,21) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# VARCHAR
|
|
#
|
|
CREATE PROCEDURE p1() AS var CHAR; rec ROW(var CHAR); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" varchar(1) DEFAULT NULL,
|
|
"rec.var" varchar(1) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BINARY; rec ROW(var BINARY); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" varbinary(1) DEFAULT NULL,
|
|
"rec.var" varbinary(1) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var CHAR(1); rec ROW(var CHAR(1)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" varchar(1) DEFAULT NULL,
|
|
"rec.var" varchar(1) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var CHAR(10); rec ROW(var CHAR(10)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" varchar(10) DEFAULT NULL,
|
|
"rec.var" varchar(10) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var NCHAR(10); rec ROW(var NCHAR(10)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" varchar(10) CHARACTER SET utf8 DEFAULT NULL,
|
|
"rec.var" varchar(10) CHARACTER SET utf8 DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var BINARY(10); rec ROW(var BINARY(10)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" varbinary(10) DEFAULT NULL,
|
|
"rec.var" varbinary(10) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var VARBINARY(10); rec ROW(var VARBINARY(10)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" varbinary(10) DEFAULT NULL,
|
|
"rec.var" varbinary(10) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var VARCHAR(10); rec ROW(var VARCHAR(10)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" varchar(10) DEFAULT NULL,
|
|
"rec.var" varchar(10) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var VARCHAR(10) CHARACTER SET utf8; rec ROW(var VARCHAR(10) CHARACTER SET utf8); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" varchar(10) CHARACTER SET utf8 DEFAULT NULL,
|
|
"rec.var" varchar(10) CHARACTER SET utf8 DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_bin; rec ROW(var VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_bin); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" varchar(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
|
|
"rec.var" varchar(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# TIME
|
|
#
|
|
CREATE PROCEDURE p1() AS var TIME; rec ROW(var TIME); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" time DEFAULT NULL,
|
|
"rec.var" time DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TIME(1); rec ROW(var TIME(1)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" time(1) DEFAULT NULL,
|
|
"rec.var" time(1) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TIME(2); rec ROW(var TIME(2)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" time(2) DEFAULT NULL,
|
|
"rec.var" time(2) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TIME(3); rec ROW(var TIME(3)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" time(3) DEFAULT NULL,
|
|
"rec.var" time(3) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TIME(4); rec ROW(var TIME(4)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" time(4) DEFAULT NULL,
|
|
"rec.var" time(4) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TIME(5); rec ROW(var TIME(5)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" time(5) DEFAULT NULL,
|
|
"rec.var" time(5) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TIME(6); rec ROW(var TIME(6)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" time(6) DEFAULT NULL,
|
|
"rec.var" time(6) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# DATETIME
|
|
#
|
|
CREATE PROCEDURE p1() AS var DATETIME; rec ROW(var DATETIME); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" datetime DEFAULT NULL,
|
|
"rec.var" datetime DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DATETIME(1); rec ROW(var DATETIME(1)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" datetime(1) DEFAULT NULL,
|
|
"rec.var" datetime(1) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DATETIME(2); rec ROW(var DATETIME(2)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" datetime(2) DEFAULT NULL,
|
|
"rec.var" datetime(2) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DATETIME(3); rec ROW(var DATETIME(3)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" datetime(3) DEFAULT NULL,
|
|
"rec.var" datetime(3) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DATETIME(4); rec ROW(var DATETIME(4)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" datetime(4) DEFAULT NULL,
|
|
"rec.var" datetime(4) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DATETIME(5); rec ROW(var DATETIME(5)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" datetime(5) DEFAULT NULL,
|
|
"rec.var" datetime(5) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var DATETIME(6); rec ROW(var DATETIME(6)); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" datetime(6) DEFAULT NULL,
|
|
"rec.var" datetime(6) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# LOB
|
|
#
|
|
CREATE PROCEDURE p1() AS var TEXT; rec ROW(var TEXT); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" text DEFAULT NULL,
|
|
"rec.var" text DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYTEXT; rec ROW(var TINYTEXT); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" varchar(255) DEFAULT NULL,
|
|
"rec.var" varchar(255) DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMTEXT; rec ROW(var MEDIUMTEXT); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" mediumtext DEFAULT NULL,
|
|
"rec.var" mediumtext DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var LONGTEXT; rec ROW(var LONGTEXT); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" longtext DEFAULT NULL,
|
|
"rec.var" longtext DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TEXT CHARACTER SET utf8; rec ROW(var TEXT CHARACTER SET utf8); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" mediumtext CHARACTER SET utf8 DEFAULT NULL,
|
|
"rec.var" mediumtext CHARACTER SET utf8 DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var TINYTEXT CHARACTER SET utf8; rec ROW(var TINYTEXT CHARACTER SET utf8); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" varchar(255) CHARACTER SET utf8 DEFAULT NULL,
|
|
"rec.var" varchar(255) CHARACTER SET utf8 DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var MEDIUMTEXT CHARACTER SET utf8; rec ROW(var MEDIUMTEXT CHARACTER SET utf8); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" longtext CHARACTER SET utf8 DEFAULT NULL,
|
|
"rec.var" longtext CHARACTER SET utf8 DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
CREATE PROCEDURE p1() AS var LONGTEXT CHARACTER SET utf8; rec ROW(var LONGTEXT CHARACTER SET utf8); BEGIN CREATE TABLE t1 AS SELECT var,rec.var FROM DUAL;END;
|
|
CALL p1();
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE "t1" (
|
|
"var" longtext CHARACTER SET utf8 DEFAULT NULL,
|
|
"rec.var" longtext CHARACTER SET utf8 DEFAULT NULL
|
|
)
|
|
DROP TABLE t1;
|
|
DROP PROCEDURE p1;
|
|
#
|
|
# End of MDEV-10914 ROW data type for stored routine variables
|
|
#
|