Oracle儲存過程和包管理

2021-07-07 10:19:37 字數 2414 閱讀 6440

分類:

oracle(22)

一,user_objects

作用:記錄了使用者使用的所有物件,根據object_type可以檢視所有物件資訊;

比如:select * from user_objects o   where  object_type='package'  ---檢視所有的包物件;

select distinct(o.object_type) from user_objects o

字段說明:

created:物件的建立時間;

last_ddl_time:跟物件相關的(如,如果此物件是表,則將該錶的select許可權賦給其他使用者也會改變這個欄位的值)最後ddl操作的執行時間;

timestamp:物件自身結構發生改變的時間,比如刪除字段、新增欄位等;

status:物件狀態。

檢視物件內容

--檢視序列的ddl語句

select dbms_metadata.get_ddl('sequence',u.object_name) from user_objects u where object_type='sequence'  ;

--檢視儲存過程的ddl

select dbms_metadata.get_ddl('procedure',u.object_name) from user_objects u where object_type='procedure'  ;

--檢視包的ddl

select dbms_metadata.get_ddl('package',u.object_name) from user_objects u where object_type='package'

--檢視包的觸發器

select dbms_metadata.get_ddl('trigger',u.object_name) from user_objects u where object_type='trigger'

select dbms_metadata.get_ddl('table',u.object_name) from user_objects u where object_type='table'

select dbms_metadata.get_ddl('index',u.object_name) from user_objects u where object_type='index'

二,all_dependencies

作用:儲存的是使用者可訪問的物件之間的從屬關係。

主要字段:

owner     物件的所有者;

referenced_owner :被引用物件的所有者;

referenced_name: 被應用對的名稱

referenced_type:  被應用物件的型別

referenced_link_name: 被引用物件是遠端連線是的資料庫名 比如dblink

dependency_type:從屬型別 ,強弱關係, 比如表為強關係,表不存在,儲存過程是編譯不過去的

sql:

select *

from user_dependencies

where name = 'pkg_test'

and referenced_type in ('table', 'sequence')   ---檢視pkg_test包所有的表和序列;

三,常用sql

---檢視系統內每個表所使用的表

select object_name,

object_type,

created,

last_ddl_time,

status,

t.use_tables

from user_objects u

left join (select name,

type,

wm_concat(referenced_owner || '.' || referenced_name) use_tables

from user_dependencies

where referenced_type in ('table')

and type in ('package body', 'package')

group by name, type) t on u.object_name = t.name

and u.object_type = t.type

where object_type in ('package body', 'package')

原文:

Oracle儲存過程和儲存函式

參看 oracle儲存過程 儲存函式 說明 儲存過程 儲存函式都是物件。包括表 檢視 索引 序列 同義詞等也是物件。概念 指儲存在資料庫中供所有使用者程式呼叫的子程式叫儲存 過程 儲存函式。特點 完成特定功能的程式。區別 儲存函式可以通過return子句返回乙個值。建立和使用儲存過程 用create...

Oracle和SQL Server儲存過程的不同

一 多表連線查詢,更新儲存過程 sql儲存過程 alter procedure dbo getevent scswid nvarchar 20 null todate datetime fromdate datetime asselect notes.note id,notes.note,scsw ...

oracle儲存過程和job

儲存過程 把t ckeck ews表中的資料插入his t neop cmd instance中,把t ckeck ews表資料插入his t ckeck ews要求工單超過5分鐘沒處理置失敗 create or replace procedure p back up ckeckews isewsi...