CREATE PROC

功能描述

创建一个新的存储过程。

注意事项

  • 本章节只包含shark新增的语法,原openGauss的语法未做删除和修改。原openGauss的CREATE PROCEDURE语法请参考章节CREATE PROCEDURE。
  • 新增支持通过CREATE PROC方式创建存储过程,功能和CREATE PROCEDURE方式保持一致。

语法格式

1. CREATE [ OR REPLACE ] { PROCEDURE | PROC } procedure_name
2. [ ( {[ argname ] [ argmode ] argtype [ { DEFAULT | := | = } expression ]}[,...]) ]
3. { IS | AS } plsql_body
4. /

参数说明

  • PROC

新增通过CREATE PROC方式创建存储过程,功能和CREATE PROCEDURE方式保持一致。

示例

1. create schema test_proc;
2. set current_schema to test_proc;

4. create procedure p1()
5. is
6. begin
7. RAISE INFO 'call procedure: p1';
8. end;
9. /

11. create proc p2()
12. is
13. begin
14. RAISE INFO 'call procedure: p2';
15. end;
16. /

18. \df p1();
19. List of functions
20. Schema   | Name | Result data type | Argument data types |  Type  | fencedmode | propackage | prokind
21. -----------+------+------------------+---------------------+--------+------------+------------+---------
22. test_proc | p1   | void             |                     | normal | f          | f          | p
23. (1 row)

25. \df p2();
26. List of functions
27. Schema   | Name | Result data type | Argument data types |  Type  | fencedmode | propackage | prokind
28. -----------+------+------------------+---------------------+--------+------------+------------+---------
29. test_proc | p2   | void             |                     | normal | f          | f          | p
30. (1 row)

32. call test_proc.p1();
33. INFO:  call procedure: p1
34. p1
35. ----

37. (1 row)

39. call test_proc.p2();
40. INFO:  call procedure: p2
41. p2
42. ----

44. (1 row)

相关链接

CREATE PROCEDURE