![](/img/trans.png)
[英]how to grant all priviledges to all objects(tables, views, procedure, function etc) to a role in oracle
[英]How to extract all Oracle Keywords used In a Function/Procedure
是否有任何簡單的方法來提取函數/過程中使用的所有Oracle關鍵字?
讓我大吃一驚的是,基於空間將給定對象名稱的文本從user_source拆分出來,但這會發現一些未發現的情況,例如DBMS_OUTPUT.PUT_LINE('HELLO WORLD')等,
除了通過空格,點,偏括號拆分之外,還有其他方法嗎?
KG
您可以使用內置的ALL_STATEMENTS
/ ALL_IDENTIFIERS
。
ALL_STATEMENTS描述了用戶可訪問的已存儲PL / SQL對象中的所有SQL語句。
要在代碼庫中收集有關PL / SQL標識符和SQL語句的信息,請在會話中執行以下語句
ALTER SESSION SET plscope_settings='identifiers:all, statements:all';
-- function/package compilation
SELECT st.owner,
st.object_name,
st.line,
s.text
FROM all_statements st join all_source s
ON ( st.owner = s.owner
AND st.object_name = s.name
AND st.line = s.line )
WHERE st.TYPE IN ('EXECUTE IMMEDIATE', 'OPEN')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.