Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ALL_PROCEDURES

📄字数 1.3K
👁️阅读量 加载中...

功能描述

ALL_PROCEDURES系统视图用于存储和管理创建的所有存储函数和过程信息。

字段说明

序号字段名类型说明V11V12
0DB_IDINTEGER库ID
1SCHEMA_IDINTEGER模式ID
2USER_IDINTEGER属主ID
3PROC_IDINTEGER过程ID
4PROC_NAMEVARCHAR过程或方法名
5LANGUAGECHAR语言
6RET_TYPECHAR返回类型
7DEFINECLOB过程体的文本定义
8CREATE_TIMEDATETIME创建时间
9VALIDBOOLEAN是否有效
10COMMENTSVARCHAR注释信息
11IS_SYSBOOLEAN是否系统内建
12PIPELINEDBOOLEAN是否为管道函数×
13RESERVED1VARCHAR保留字段
14RESERVED2VARCHAR保留字段

应用举例

  • 创建过程函数,查询相关信息
sql
-- 创建存储过程
SQL> CREATE OR REPLACE PROCEDURE proc_info IS
      BEGIN
      SEND_MSG(1);
      END;

-- 创建存储函数
SQL> CREATE OR REPLACE FUNCTION func_test(a INT)
      RETURN INT AS
      BEGIN
      RETURN a+1;
      END;

SQL> SELECT PROC_ID,PROC_NAME,RET_TYPE,TO_CHAR(DEFINE) DEFINE,IS_SYS,PIPELINED FROM ALL_PROCEDURES;
+---------+-----------+----------+---------------------------------------------+--------+-----------+
| PROC_ID | PROC_NAME | RET_TYPE |                   DEFINE                    | IS_SYS | PIPELINED |
+---------+-----------+----------+---------------------------------------------+--------+-----------+
| 1048589 | PROC_INFO | <NULL>   | CREATE OR REPLACE PROCEDURE proc_info IS   +| F      | F         |
|         |           |          | BEGIN                                      +|        |           |
|         |           |          | SEND_MSG(1);                               +|        |           |
|         |           |          | END;                                        |        |           |
| 1048590 | FUNC_TEST | INTEGER  | CREATE OR REPLACE FUNCTION func_test(a INT)+| F      | F         |
|         |           |          | RETURN INT AS                              +|        |           |
|         |           |          | BEGIN                                      +|        |           |
|         |           |          | RETURN a+1;                                +|        |           |
|         |           |          | END;                                        |        |           |
+---------+-----------+----------+---------------------------------------------+--------+-----------+
  • 自定义函数中使用PIPELINED函数
sql
SQL> CREATE OR REPLACE TYPE type_tab AS TABLE OF VARCHAR(100);

SQL> CREATE OR REPLACE FUNCTION fun_pipe(a INT)
     RETURN type_tab PIPELINED
     IS
         j VARCHAR:='test';
     BEGIN
         FOR i IN 1..10 LOOP
             PIPE ROW('abc'||j);
             j:= j||(a+i);
         END LOOP;
         PIPE ROW('pipe row end');
         RETURN;
     END;
     
SQL> SELECT PROC_ID,PROC_NAME,RET_TYPE,TO_CHAR(DEFINE) DEFINE,IS_SYS,PIPELINED FROM ALL_PROCEDURES WHERE PROC_NAME = 'fun_pipe';
+---------+-----------+----------+--------------------------------------------+--------+-----------+
| PROC_ID | PROC_NAME | RET_TYPE |                   DEFINE                   | IS_SYS | PIPELINED |
+---------+-----------+----------+--------------------------------------------+--------+-----------+
| 1048594 | FUN_PIPE  | TYPE_TAB | CREATE OR REPLACE FUNCTION fun_pipe(a INT)+| F      | T         |
|         |           |          | RETURN type_tab PIPELINED                 +|        |           |
|         |           |          | IS                                        +|        |           |
|         |           |          | j VARCHAR:='test';                        +|        |           |
|         |           |          | BEGIN                                     +|        |           |
|         |           |          | FOR i IN 1..10 LOOP                       +|        |           |
|         |           |          | PIPE ROW('abc'||j);                       +|        |           |
|         |           |          | j:= j||(a+i);                             +|        |           |
|         |           |          | END LOOP;                                 +|        |           |
|         |           |          | PIPE ROW('pipe row end');                 +|        |           |
|         |           |          | RETURN;                                   +|        |           |
|         |           |          | END;                                       |        |           |
+---------+-----------+----------+--------------------------------------------+--------+-----------+

相关系统表