用户如何有效地利用数据字典

Oracle 查询数据字典详解(dictionary) 文章目录 1 概述2 结论 1 概述 1. 场景:记不得某数据字典的全称 或 想找找有没有对应的 数据字典 ←_← 2. 权限: 查询的是 '当前用户' 下能够访问的数据字典 也就是说,'当前用户' 权限越高,能看到的数据字典越多 -- 建议用权限高的用户查询,如:system 2 结论 -- 如:查询 表或视图备注信息的 数据字典 SELECT d.* FROM dictionary d WHERE d.table_name LIKE UPP.. 阅读详情
ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化,
体现为sys用户下的一些表和视图。数据字典名称是大写的英文字符。

    数据字典里存有用户信息、用户的权限信息、所有数据对象信息、表的约束条件、统计分析数据库的视图等。
我们不能手工修改数据字典里的信息。

  很多时候,一般的ORACLE用户不知道如何有效地利用它。

  dictionary   全部数据字典表的名称和解释,它有一个同义词dict
    dict_column   全部数据字典表里字段名称和解释
  
    如果我们想查询跟索引有关的数据字典时,可以用下面这条SQL语句:
   
    SQL>select * from dictionary where instr(comments,'index')>0;
   
    如果我们想知道user_indexes表各字段名称的详细含义,可以用下面这条SQL语句:
   
    SQL>select column_name,comments from dict_columns where table_name='USER_INDEXES';
   
    依此类推,就可以轻松知道数据字典的详细名称和解释,不用查看ORACLE的其它文档资料了。
   
    下面按类别列出一些ORACLE用户常用数据字典的查询使用方法。
   
    一、用户

    查看当前用户的缺省表空间
    SQL>select username,default_tablespace from user_users;

查看当前用户的角色
SQL>select * from user_role_privs;

查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;

    二、表
   
    查看用户下所有的表
    SQL>select * from user_tables;
       
    查看名称包含log字符的表
    SQL>select object_name,object_id from user_objects
        where instr(object_name,'LOG')>0;
   
    查看某表的创建时间
    SQL>select object_name,created from user_objects where object_name=upper('&table_name');
   
    查看某表的大小
    SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
        where segment_name=upper('&table_name');
   
    查看放在ORACLE的内存区里的表
    SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;
   
    三、索引
   
    查看索引个数和类别
    SQL>select index_name,index_type,table_name from user_indexes order by table_name;
   
    查看索引被索引的字段
    SQL>select * from user_ind_columns where index_name=upper('&index_name');
   
    查看索引的大小
    SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
        where segment_name=upper('&index_name');
   
    四、序列号
   
    查看序列号,last_number是当前值
    SQL>select * from user_sequences;
   
    五、视图
   
    查看视图的名称
    SQL>select view_name from user_views;
   
    查看创建视图的select语句
    SQL>set view_name,text_length from user_views;
    SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的大小
    SQL>select text from user_views where view_name=upper('&view_name');
   
    六、同义词
   
    查看同义词的名称
    SQL>select * from user_synonyms;
   
    七、约束条件
   
    查看某表的约束条件
    SQL>select constraint_name, constraint_type,search_condition, r_constraint_name
        from user_constraints where table_name = upper('&table_name');
       
SQL>select c.constraint_name,c.constraint_type,cc.column_name 
    from user_constraints c,user_cons_columns cc
    where c.owner = upper('&table_owner') and c.table_name = upper('&table_name')
    and c.owner = cc.owner and c.constraint_name = cc.constraint_name
    order by cc.position;       
   
    八、存储函数和过程
   
    查看函数和过程的状态
    SQL>select object_name,status from user_objects where object_type='FUNCTION';
    SQL>select object_name,status from user_objects where object_type='PROCEDURE';
   
    查看函数和过程的源代码
    SQL>select text from all_source where owner=user and name=upper('&plsql_name');
   
    九、触发器
   
    查看触发器

    set long 50000;
    set heading off;
    set pagesize 2000;

    select
    'create or replace trigger "' ||
            trigger_name || '"' || chr(10)||
     decode( substr( trigger_type, 1, 1 ),
             'A', 'AFTER', 'B', 'BEFORE', 'I', 'INSTEAD OF' ) ||
                  chr(10) ||
     triggering_event || chr(10) ||
     'ON "' || table_owner || '"."' ||
           table_name || '"' || chr(10) ||
     decode( instr( trigger_type, 'EACH ROW' ), 0, null,
                'FOR EACH ROW' ) || chr(10) ,
     trigger_body
    from user_triggers;
   
方差分析ANOVA、T检验、卡方检验的区别 T检验和ANOVA都是用来看样本之间均值是否相等,但是两者又有什么区别呢? 卡方检验是用来看分类变量之间有没有相关性。 自变量X类型 自变量X组数 因变量Y类型 分析方法 离散(类别) 仅仅2组 连续(均值) t检验 离散(类别) 2组及以上 连续(均值) ANOVA 离散(类别) 2组及以上 离散(类别) 卡方检验 进一步细分 方差分析 从理论上讲,方差分析有两个前提条件,一是因变量Y需要满足正态性要求,二是满足方差齐检验。 方差不齐时可使用‘非参数检验’,同时还可使用wel 阅读详情

相关推荐

Python 上位机开发

首先,什么是上位机?上位机通常是指可以与下位机(如单片机、传感器等硬件设备)进行通信和交互,实现数据采集、控制指令发送以及数据处理和展示的计算机程序。 Python 作为一种高级编程语言,在开发上位机方面具有诸多优势。它拥有丰富的第三方库,使得开发过程变得相对简单和高效。

weixin_46807151的博客 4304

Oracle中数据字典及相关查询应用

Oracle中的数据字典应用以及相关查询

m0_71406734的博客 6943

VS Code配合Prettier自动格式化代码

每次修改 .prettierrc.cjs 配置文件后,如果发现保存代码时格式化没有生效,可能是 VS Code 插件缓存未及时刷新。建议此时重启 VS Code,确保新的配置被正确加载并生效。

分享技术,分享经验 7424

oracle判断是否包含字符串

一、oracle判断是否包含字符串的方法 1、contains,contains用法如下: select * from students where contains(address, 'beijing') 但是,使用contains谓词有个条件,那就是列要建立索引,也就是说如果上面语句中students表的address列没有建立索引,那么就会报错。 2、instr,instr的用法如下: ...

SKY的专栏 5万+

C++笔试题整理

目录 1. 笔试题1 1.1 链表反转 1.2 String 2. 笔试题2 2.1 求下面函数的返回值(微软) 2.2 什么是“引用”?申明和使用“引用”要注意哪些问题? 2.3 将“引用”作为函数参数有哪些特点? 2.4 在什么时候需要使用“常引用”?  2.5 将“引用”作为函数返回值类型的格式、好处和需要遵守的规则? 2.6 “引用”与多态的关系? 2.7 “引用”与指针的区别是什么? 2.8 什么时候需要“引用”? 2.9 结构与联合有和区别? 2.10 下面关于.

星月相随的专栏 2488

MATLAB 论文复现——基于虚拟储能的电动汽车充放电调度策略及激励评价

文章基于虚拟储能聚合体仿真模型优化电动汽车充放电调度,并采用复合权重评价电动汽车的充电激励。根据电动汽车灵活性和系统稳定性衡量其贡献大小,并通过模糊推理系统模拟用户的充电意愿,实现对电动汽车充电的引导和优化。[1]陈朔,胡昊,方慧敏,等.基于虚拟储能的电动汽车充放电调度策略及激励评价[J/OL].系统仿真学报,1-12[2024-07-24].https://doi.org/10.16182/j.issn1004731x.joss.23-1316.基于虚拟储能的电动汽车充放电调度策略及激励评价。

sjr1478的博客 366

Oracle判断某个字符串是否包含某个字符串的方法

1.使用通配符“%” select * from user where @variable like ‘%StevenMins%’; 2.使用contains函数 select * from user where contains(@variable, ‘StevenMins’); 使用contains谓词有个条件,那就是列要建立索引,也就是说如果上面语句中user表的hobby列没有建立索引,那么就会报错,局限性比较大。 3.使用instr函数 select * from user where inst

Steven Min的博客 1万+

车联网ECU、TSP与TBOX通信流程

对比维度ECU(电子控制单元)BMS(电池管理系统)应用场景传统燃油车 + 新能源汽车仅限新能源汽车核心作用控制整车各系统运行管理动力电池安全与寿命车联网角色数据采集与传输的核心载体提供电池相关的核心数据。

tecoes的博客 1236
上一篇: 创业流程
下一篇: 福建,福州域名注册网址
csdnloading
博客等级 码龄11年 0粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值