全局变量将它的值存储在内存中, 其他 SPL 例程可用, 由相同的用户会话运行在同一数据 库上。全局变量有下列特征: • 它需要缺省值。 • 可在任何 SPL 例程中使用它,虽然必须在使用它的每一例程中定义它。 • 它将它的值从一个 SPL 例程带到另一个,直到会话结束为止。 限制: 您不可将集合变量定义为全局变量。 下图展示分享一个全局变量的两个 SPL 函数。 图: 分享一个全局变量的两个 SPL 函数。 CREATE FUNCTION func1() RETURNING INT; DEFINE GLOBAL gvar INT DEFAULT 2; LET gvar = gvar + 1; RETURN gvar; END FUNCTION;
CREATE FUNCTION func2() RETURNING INT; DEFINE GLOBAL gvar INT DEFAULT 5; LET gvar = gvar + 1; RETURN gvar; END FUNCTION; 虽然您必须定义带有缺省值的全局变量,但仅在您首次使用它时,将变量设置为缺省值。 如果您以给定的顺序在下图中执行这两个函数,则 gvar的值将为 4。 图: 全局变量缺省值。 EXECUTE FUNCTION func1(); EXECUTE FUNCTION func2(); 但是,如果您以相反的顺序执行函数,如下图所示,则 gvar 的值将为 7。
GBase 8s SQL 指南:教程 南大通用数据技术股份有限公司 - 277 -
图: 全局变量缺省值。 EXECUTE FUNCTION func2(); EXECUTE FUNCTION func1(); 要了解更多信息,请参阅 执行例程。
使用前提 所有字段的最大长度均小于16MB (16777216B)。 定长导出模式参数定义如下表: 参数 参数设定值 FIELD TERMINATER BY '' FIELD ENCLOSED BY '' FIELD ESCAPED BY '' 示例: SELECT * FROM gs INTO OUTFILE '/home/gbase/temp/length_1.txt' FIELDS TERMINATED BY '' ENCLOSED BY '' ESCAPED BY ''; 定长模式的数据导出方式: