You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Oracle数据库没有all_functions表?已有all_tables等相关表

Why There's No ALL_FUNCTIONS View in Oracle

Great question! Let me break down the reasoning behind this Oracle data dictionary quirk:

  • Oracle lumps functions and procedures into the same category
    In Oracle's metadata architecture, functions and stored procedures are both treated as program units. Instead of splitting them into separate views, Oracle combines them in ALL_PROCEDURES. You can easily distinguish between them using the OBJECT_TYPE column: it will show FUNCTION for functions and PROCEDURE for stored procedures.

  • How to get function-specific data
    If you need to query only the functions you have access to, just filter the ALL_PROCEDURES view with a simple condition:

    SELECT owner, object_name, procedure_name
    FROM all_procedures
    WHERE object_type = 'FUNCTION';
    

    This gives you exactly the dataset you'd expect from a hypothetical ALL_FUNCTIONS view.

  • Historical design logic
    Oracle's data dictionary has evolved over decades, and this grouping aligns with how the database internally manages these objects. Since functions and procedures share core attributes (like owner, name, accessibility), maintaining a single view avoids redundancy and keeps the data dictionary streamlined.


内容的提问来源于stack exchange,提问作者Sourav Deb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:58:01