参数数据类型 本页介绍天翼云TeleDB数据库存储过程开发的参数数据类型。 数据类型(可以有模式修饰),可以是基本类型,复合类型、域类型、游标、或者可以引用一个现有表类型、字段类型(建立时转换为对应的类型)、还可以是多态类型 anyelement、anyarray,也可以是各种数据类型的数组形式。 基本类型 teledb CREATE OR REPLACE PROCEDURE pbasepara (aint integer,astr text) AS $$ BEGIN RAISE NOTICE 'aint % ; astr %',aint,astr; END; $$ LANGUAGE PLPGSQL; CREATE PROCEDURE teledb CALL pbasepara(1,'teledbpg'); NOTICE: aint 1 ; astr teledbpg CALL teledb teledb CREATE OR REPLACE PROCEDURE pbasearray (aint integer[],astr text[]) AS $$ BEGIN RAISE NOTICE 'aint % ; astr %',aint,astr; END; $$ LANGUAGE PLPGSQL; CREATE PROCEDURE teledb CALL pbasearray(ARRAY[1,2,3],ARRAY['teledbpg','pgxz']); NOTICE: aint {1,2,3} ; astr {teledbpg,pgxz} CALL teledb 复合类型 teledb CREATE TYPE public.tper AS ( id integer, mc text ); CREATE TYPE teledb CREATE OR REPLACE PROCEDURE ptype (arow public.tper) AS $$ BEGIN RAISE NOTICE 'id % ; mc %',arow.id,arow.mc; END; $$ LANGUAGE PLPGSQL; CREATE PROCEDURE teledb CALL ptype(ROW(1,'teledbpg')::public.tper); NOTICE: id 1 ; mc teledbpg CALL teledb