参数数据类型 本页介绍天翼云TeleDB数据库存储过程开发的参数数据类型。 基本类型 plaintext 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 复合类型 plaintext 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 复合数组 plaintext teledb CREATE OR REPLACE PROCEDURE ptypearray (arec public.tper[]) AS $$ BEGIN RAISE NOTICE 'arec %',arec; RAISE NOTICE 'arec[1].id %',arec[1].id; END; $$ LANGUAGE PLPGSQL; CREATE PROCEDURE teledb CALL ptypearray (ARRAY[ROW(1,'teledbpg'),ROW(1,'pgxz')]::public.tper[]); NOTICE: arec {"(1,teledbpg)","(1,pgxz)"} NOTICE: arec[1].id 1 CALL teledb