SHOW CREATE FUNCTION

功能描述

它返回可用于重新创建命名函数的确切字符串。 类似的语句 SHOW CREATE PROCEDURE 显示有关存储函数的信息。 要使用任一语句,您必须具有全局 SELECT 特权。

注意事项

sql_mode是查询时的会话值,b数据库在这里展示的是创建例程时绑定的sql_mode,opengauss这里展示的是会话的值,因为opengauss在创建例程时不会将例程与sql_mode绑定。

character_set_client 是 client_encoding 创建例程时系统变量 的会话值 。

collation_connection 是 lc_collate 创建数据库时指定的值。

Database Collation 是 lc_collate 创建数据库时指定的值。

语法格式

  1. SHOW CREATE FUNCTION func_name

参数说明

  • func_name

    函数名。

示例

  1. --创建函数
  2. openGauss=# CREATE FUNCTION functest_A_1(text, date) RETURNS bool LANGUAGE 'sql'
  3. AS 'SELECT $1 = ''abcd'' AND $2 > ''2001-01-01''';
  4. CREATE FUNCTION
  5. --查询函数创建语句
  6. openGauss=# show create function functest_A_1;
  7. Function | Create Function | sql_mode | character_set_client | collation_connection
  8. | Database Collation
  9. --------------+------------------------------------------------------------------+-------------------------------------+----------------------+----------------------+--------------------
  10. functest_a_1 | CREATE OR REPLACE FUNCTION public.functest_a_1(text, date) +| sql_mode_strict,sql_mode_full_group | UTF8 | en_US.UTF-8
  11. | en_US.UTF-8
  12. | RETURNS boolean +| | |
  13. |
  14. | LANGUAGE sql +| | |
  15. |
  16. | NOT FENCED NOT SHIPPABLE +| | |
  17. |
  18. | AS $function$SELECT $1 = 'abcd' AND $2 > '2001-01-01'$function$;+| | |
  19. |
  20. | | | |
  21. |
  22. (1 row)