oracle存储过程查询数据
① oracle 怎样查看已经存在的函数,过程
工具sqlplus或者plsqldeveloper
方法一:sqlplus
①登录用户后,执行下面语句查看当前用户有哪些存储过程:
select name from user_source where type='PROCEDURE';
或者:
select object_name from user_proceres;
或者:
select object_name from user_objects where object_type='PROCEDURE' ;
②找到你所要查询的存储过程名字后,执行下面操作,可以看到存错过程内容:
select text from user_source where name ='xxxx';--(xxxx代表所要查询的存储过程名字)
------------------------------------------------
如果是函数,类似的方法,只需要把PROCEDURE,换成FUNCTION即可
-----------------------------------------------
方法二:pl/sql developer
打开该工具后,在最左侧可以看到如下截图,选择 My objects
② 如何查询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、执行语句:
SELECTtext
FROMuser_source
WHERENAME='ProcereName'
ORDERBYline;--其中ProcereName为存储过程名字,需要全部用大写英文。
2、如要查P_TEST的存储过程:
SELECTtext
FROMuser_source
WHERENAME='P_TEST'
ORDERBYline;
3、内容如下:
④ 怎么查oracle存储过程更新记录
查oracle存储过程更新记录的方法是
1、版本控制系统:如果你的存储过程是通过版本控制系统(如Git、SVN等)进行管理的,你可以通过版本控制系统的记录来查找存储过程的更新历史。版本控制系统会记录每次提交的变更,包括对存储过程的修改。
2、数据库日志:Oracle数据库中的日志文件(如归档日志、重做日志)记录了数据库的所有操作,包括对存储过程的更新。你可以查询数据库的日志文件,查找特定存储过程的更新记录。这种方法需要对Oracle数据库日志的结构和查询方式有一定的了解。
3、内置表和视图:Oracle数据库提供了一些内置的表和视图,可以用于查找对象的元数据信息,包括存储过程的更新时间和更新者。例如,可以查询ALL_OBJECTS表或DBA_OBJECTS视图,根据对象类型筛选出存储过程,并查找相关的更新信息。
⑤ oracle 怎么在存储过程中查询数据
oracle数据库中,已建立好的存储过程信息存储在系统表ALL_SOURCE 中,需要用sysdba身份登录数据库,进行查询操作,SQL命令如下:
1
2
3
4
5
SELECT line,text FROM ALL_SOURCE
WHERE TYPE='PROCEDURE'
AND NAME='过程名称'
AND OWNER='用户名'
ORDER BY line;
存储过程分成多行,每一行会存储为一条数据,所以,查询出来的会是多行,line表示行号。
ALL_SOURCE 表中还存储了以下类型信息:
1
2
3
4
5
6
7
8
9
10
SQL> select distinct type from all_source ;
TYPE
------------
TYPE (对象)类型
TYPE BODY 类型体
PROCEDURE <a href="https://www..com/s?wd=%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-TLwGUv3EnW6srHTsrjnz" target="_blank" class="-highlight">存储过程</a>
FUNCTION 函数
TRIGGER <a href="https://www..com/s?wd=%E8%A7%A6%E5%8F%91%E5%99%A8&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-TLwGUv3EnW6srHTsrjnz" target="_blank" class="-highlight">触发器</a>
PACKAGE 包
PACKAGE BODY 包体
⑥ oracle查看执行过哪些存储过程
selectt.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
fromDBA_HIST_SQLSTATs,DBA_HIST_SQLTEXTt
wheres.sql_id=t.sql_id
andt.sql_textlike'%存储过程名称%';
没有想到其他好办法,确实不太好查了,把存储过程当作SQL来查找吧。