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)