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來查找吧。