应用程序语法介绍 您可以通过本页了解天翼云TeleDB数据库的建立函数语法、[OR REPLACE] 更新函数介绍、[模式名.]函数名介绍。 建立函数语法 plaintext CREATE [OR REPLACE] FUNCTION [模式名.]函数名 ([参数模式 [参数名] 数据类型 [default 默认值] [,…]]) RETRUNS [SETOF] 数据类型 AS [标签] [DECLARE 变量定义] BEGIN 注释 /注释/ 语句执行 END; [标签] LANGUAGE PLPGSQL; [OR REPLACE] 更新函数介绍 OR REPLACE 的作用为函数存在时则替换,建立 PL/pgsql 函数时如果不带 OR REPLACE 关键字, 则遇到函数已经存在,系统会报错,如下所示: plaintext teledb select prosrc from pgproc where proname'f'; prosrc BEGIN + RAISE NOTICE 'Hello ,teledb';+ END; + (1 row) teledb CREATE FUNCTION f() RETURNS VOID AS $$ BEGIN RAISE NOTICE 'Hello ,teledb'; END; $$ LANGUAGE PLPGSQL; ERROR: function "f" already exists with same argument types teledb CREATE OR REPLACE FUNCTION f() RETURNS VOID AS $$ BEGIN RAISE NOTICE 'Hello ,teledb'; END; $$ LANGUAGE PLPGSQL; CREATE FUNCTION teledb select prosrc from pgproc where proname'f'; prosrc BEGIN + RAISE NOTICE 'Hello ,teledb';+ END; + (1 row) teledb select f(); NOTICE: Hello ,teledb f (1 row) [模式名.]函数名介绍 建立函数名称,模式名可以指定,也可以不指定,不指存则存放在当前模式下,如上面例子就没有指定模式名,则就存放在当前模式下,如下所示: plaintext teledb select from pgnamespace; nspname nspowner nspacl ++ pgtoast 10 pgoracle 10 squeeze 10 pgtemp1 10 pgtoasttemp1 10 pgcatalog 10 {teledbUC/teledb,U/teledb} public 10 {teledbUC/teledb,UC/teledb} informationschema 10 {teledbUC/teledb,U/teledb} (8 rows) teledb