返回值类型介绍 本页介绍天翼云TeleDB数据库PL/pgsql函数的返回值类型。 没有返回值 plaintext teledb CREATE OR REPLACE FUNCTION f8() RETURNS void AS teledb $$ teledb$ BEGIN teledb$ RAISE NOTICE '不用返回值,函数体可以有或没有return语句'; teledb$ RETURN ;这一句可以有,也可以没有 teledb$ END; teledb$ $$ teledb LANGUAGE plpgsql; CREATE FUNCTION teledb select from f8(); NOTICE: 不用返回值,函数体可以有或没有return语句 f8 (1 row) 返回简单类型 plaintext teledb CREATE OR REPLACE FUNCTION f9() RETURNS TEXT AS $$ BEGIN RETURN 'teledb'; END; $$ LANGUAGE plpgsql; CREATE FUNCTION teledb SELECT FROM f9() t(axm); axm teledb (1 row) teledb CREATE OR REPLACE FUNCTION f9(OUT axm TEXT) RETURNS TEXT AS $$ BEGIN axm:'teledb'; END; $$ LANGUAGE plpgsql; CREATE FUNCTION teledb SELECT FROM f9(); axm teledb (1 row) 上面两个函数其实就是同一个函数,建立时如果不加OR REPLACE 则会提示已经存在。 plaintext teledb CREATE OR REPLACE FUNCTION f10() RETURNS TEXT[] AS $$ BEGIN RETURN ARRAY['teledb','pgxz']; END; $$ LANGUAGE plpgsql; CREATE FUNCTION teledb SELECT FROM f10(); f10 {teledb,pgxz} (1 row) 返回一个复合类型 plaintext teledb CREATE TYPE trec AS teledb ( teledb( id integer, teledb( mc text teledb( ); CREATE TYPE teledb CREATE OR REPLACE FUNCTION f11() RETURNS trec AS teledb $$ teledb$