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)
