当前位置:首页 » 存储配置 » 获取oracle存储过程

获取oracle存储过程

发布时间: 2023-04-11 07:43:50

sql命令查询Oracle存储过程信息

oracle数据库中,已建立好的存储过程信息存储在系统表ALL_SOURCE 中,需要用sysdba身份登录数据库,进行查询操作,SQL命令如下:

SELECTline,textFROMALL_SOURCE
WHERETYPE='PROCEDURE'
ANDNAME='过程名称'
ANDOWNER='用户名'
ORDERBYline;

存储过程分成多行,每一行会存储为一条数据,所以,查询出来的会是多行,line表示行号。


ALL_SOURCE 表中还存储了以下类型信息:

SQL>selectdistincttypefromall_source;
TYPE
------------
TYPE(对象)类型
TYPEBODY类型体
PROCEDURE存储过程
FUNCTION函数
TRIGGER触发器
PACKAGE包
PACKAGEBODY包体

⑵ 如何查看oracle的存储过程

使用tode或者Navicat 或者navigtor等连接oracle的工具

找到procere的选项即可查看所有的存储过程,点击某个名字可以看到其中的定义

⑶ 如何获取ORACLE存储过程的参数个数

查看源代码啊:
查看存储过程的原代码:

select dbms_metadata.get_ddl('PROCEDURE','PROCEDURE_NAME') from al;

其中,PROCEDURE_NAME 是你的存储过程的名字,用大写!

⑷ Oracle怎么导出存储过程

1、首先登录到数据库中,点击右上角有个工具栏,点击工具栏上的tools。

⑸ 如何获取oracle 执行过的存储过程

select t.sql_id,
t.sql_text,
s.plan_hash_value,
s.optimizer_cost,
s.executions_total,
s.elapsed_time_total,
s.disk_reads_total,
s.buffer_gets_total
from DBA_HIST_SQLSTAT s, DBA_HIST_SQLTEXT t
where s.sql_id=t.sql_id
and t.sql_text like'%存储过程名称拦清%';

没有想简郑前到其他好办法,确实不太好查了,把存丛春储过程当作SQL来查找吧。

⑹ 如何查询oracle库中已经存在的存储过程

命令行:

sqlplus / as sysdba
select name from user_source where type='PROCEDURE';
可查看sys用户下所有存游举消储过程名字
select text from user_source where name='XXX'
可查看该存神知储过程的内容

plSQLdevloper工具:
左侧找到‘Proceres’,点开之后即可查看答滚当前用户的所有存储过程。
右键点击存储过程,选择‘view’可查看详细信息

⑺ oracle怎样查看正在执行的存储过程

1、在存储过程中加一个输出参数,执行完存储过程后,判断输出参数的值;

2、查看存储过程中处理数据后,你要的效果达到没有。

⑻ oracle的存储过程怎么查看

在pl/sql左边树形列表中找到A这个存储过程,然后展开A前面的加号,在点击reference就是调用A的函数和过程

⑼ ORACLE 获取包中存储过程或函数的参数

该包用于  动态获取包中存储过程或者函数的参数。

create or replace package SF_GET_ARGUMENTS_PKG is

  -- Author  : SANFU

  -- Created : 2020/7/22 14:40:49

  -- Purpose : 动态获取包中存储过程或者函数的参数

  PROCEDURE get_arguments(p_pkg_name in VARCHAR2, p_obj_name in VARCHAR2);

  PROCEDURE pf_get_arguments(p_pkg_name in VARCHAR2,

         茄脊差                   p_obj_name in VARCHAR2);

end SF_GET_ARGUMENTS_PKG;

/

create or replace package body SF_GET_ARGUMENTS_PKG is

  /*============================================*

  * Author  : CZH

  * Created  : 2020-07-22 15:00:12

  * ALERTER  :

  * ALERTER_TIME  :

  * Purpose  :

  * Arg_number  : 2

  * P_PKG_NAME :包名

  * P_OBJ_NAME :存储过程名或函数名

  *============================================*/

  PROCEDURE get_arguments(p_pkg_name in VARCHAR2, p_obj_name in VARCHAR2) IS

    v_pkg_name  varchar2(100) := upper(p_pkg_name);

    v_obj_name  varchar2(100) := upper(p_obj_name);

    v_arg_number NUMBER;

    cursor data_cur is

      select t.PACKAGE_NAME,

            t.OBJECT_NAME,

            t.ARGUMENT_NAME,

            t.IN_OUT,

            count(t.ARGUMENT_NAME) over(PARTITION BY t.OBJECT_NAME) arg_number,

            row_number() over(partition by t.OBJECT_NAME order by t.POSITION asc) rank_position

   颤皮     from sys.user_arguments t

      where t.PACKAGE_NAME = v_pkg_name

        and t.OBJECT_NAME = v_obj_name

        and t.POSITION <> 0;

  begin

    select count(1)

      into v_arg_number

      from sys.user_arguments t

    where t.PACKAGE_NAME = v_pkg_name

      and t.OBJECT_NAME = v_obj_name

      and t.POSITION <野亏> 0;

    dbms_output.put_line('/*============================================*');

    dbms_output.put_line(' * Author  : SANFU');

    dbms_output.put_line(' * Created  : ' ||

                        TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS'));

    dbms_output.put_line(' * ALERTER  : ');

    dbms_output.put_line(' * ALERTER_TIME  : ');

    dbms_output.put_line(' * Purpose  : ');

    dbms_output.put_line(' * Obj_Name    : ' || v_obj_name);

    dbms_output.put_line(' * Arg_Number  : ' || v_arg_number);

    for rec in data_cur loop

      dbms_output.put_line(' * ' || rec.ARGUMENT_NAME || ' :');

    end loop;

    dbms_output.put_line(' *============================================*/');

  end get_arguments;

  --获取参数

  PROCEDURE pf_get_arguments(p_pkg_name in VARCHAR2,

                            p_obj_name in VARCHAR2) IS

    v_pkg_name varchar2(100) := upper(p_pkg_name);

    v_obj_name varchar2(100) := upper(p_obj_name);

    v_attr    varchar2(100);

    cursor data_cur is

      select t.PACKAGE_NAME,

            t.OBJECT_NAME,

            t.ARGUMENT_NAME,

            t.IN_OUT,

            count(t.ARGUMENT_NAME) over(PARTITION BY t.OBJECT_NAME) arg_number,

            row_number() over(partition by t.OBJECT_NAME order by t.POSITION asc) rank_position

        from sys.user_arguments t

      where t.PACKAGE_NAME = v_pkg_name

        and t.OBJECT_NAME = v_obj_name

        and t.POSITION <> 0;

  begin

    dbms_output.put_line(v_pkg_name || '.' || v_obj_name || '(');

    for rec in data_cur loop

      if rec.in_out = 'IN' then

        v_attr := '';

      elsif rec.in_out = 'OUT' then

        v_attr := '';

      elsif rec.in_out = 'IN/OUT' then

        v_attr := '';

      end if;

      if data_cur%ROWCOUNT = rec.arg_number then

        dbms_output.put_line(lower(rec.ARGUMENT_NAME) || '        =>' ||

                            '  ' || v_attr || lower(rec.ARGUMENT_NAME));

      else

        dbms_output.put_line(lower(rec.ARGUMENT_NAME) || '        =>' ||

                            '  ' || v_attr || lower(rec.ARGUMENT_NAME) || ',');

      end if;

    end loop;

    dbms_output.put_line(');');

  end pf_get_arguments;

end SF_GET_ARGUMENTS_PKG;

/

热点内容
linuxip命令查看ip 发布:2025-02-13 10:49:45 浏览:420
java基础应用 发布:2025-02-13 10:44:53 浏览:710
linux内核抢占 发布:2025-02-13 10:36:32 浏览:889
家装公司源码 发布:2025-02-13 10:35:35 浏览:48
aspnet更新数据库 发布:2025-02-13 10:35:34 浏览:384
海尔压缩机不工作 发布:2025-02-13 10:15:32 浏览:223
才儿坊编程 发布:2025-02-13 10:09:58 浏览:729
手机存储速度测试 发布:2025-02-13 10:09:58 浏览:368
什么是安卓客户端开发 发布:2025-02-13 10:07:48 浏览:614
加密脱壳 发布:2025-02-13 10:07:44 浏览:639