变量使用实例 本页介绍天翼云TeleDB数据库存储过程开发的变量使用实例。 变量声明语法 name [ CONSTANT ] type [ COLLATE collationname ] [ NOT NULL ] [ { DEFAULT : } expression ]; 如果给定DEFAULT子句,它会指定进入该块时分配给该变量的初始值。如果没有给出 DEFAULT子句,则该变量被初始化为SQL空值。 CONSTANT选项阻止该变量在初始化之后被赋值,这样它的值在块的持续期内保持不变。 COLLATE选项指定用于该变量的一个排序规则。如果指定了NOT NULL,对该变量赋值为空值会导致一个运行时错误。所有被声明为NOT NULL的变量必须被指定一个非空默认值。等号()可以被用来代替 PL/SQL兼容的:。 定义一个普通变量 teledb CREATE OR REPLACE PROCEDURE ordinaryvar() AS $$ DECLARE 所有变量的声明都要放在这里,建议变量以v开头,参数以a开头 vint integer : 1; vtext text; BEGIN vtext 'teledbpg'; RAISE NOTICE 'vint %',vint; RAISE NOTICE 'vtext %',vtext; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL ordinaryvar(); NOTICE: vint 1 NOTICE: vtext teledbpg CALL teledb 定义CONSTANT 变量 teledb CREATE OR REPLACE PROCEDURE pconstant() AS $$ DECLARE vint CONSTANT integer : 1; BEGIN RAISE NOTICE 'vint %',vint; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pconstant(); NOTICE: vint 1 CALL