可以在不显式指定变量类型的情况下声明变量,并让 SQLScript 自动确定类型。此自动类型派生可用于标量变量、表和数组。
代码语法DECLARE AUTO = NOT NULL] create table auto (a bigint);declare tab1 auto = select 1 a, 2 b from dummy;示例代码解决方法-- assume that current schema is schema_xcreate table auto (a bigint);do begin declare tab1 "AUTO"; declare tab2 schema_x.auto;end;
示例代码declare var1 auto = 1.0;declare arr1 auto = array(1, 2);declare tab1 auto = select 1 as x from dummy;
派生类型由缺省值的类型确定,但不总是与分配中缺省值的评估类型完全相同。如果类型具有长度,则将使用最大长度来提高灵活性。
缺省值的实际类型自动变量的派生类型VARCHAR(n)VARCHAR(MAX_LENGTH)NVARCHAR(n)NVARCHAR(MAX_LENGTH)ALHPANUM(n)ALPHANUM(MAX_LENGTH)VARBINARY(n)VARBINARY(MAX_LENGTH)DECIMAL(p, s)小数SMALLDECIMAL小数
自动类型可用于 SQLScript 标量和表变量,但具有以下限制: