整理下oracle以及PL/SQL的相关知识点

  1. user_tab_columns
    所有表colums信息
    在梳理业务关系的时候,肯定少不了对数据库表结构的分心,user_tab_columns表保存了当前用户的表、视图和Clusters中的列信息,以后是该表各字段的含义

    有时候我们需要查询某一个字段都存在于那些表中,就可以使用下面这条sql进行查询

    1
    2
    select column_name,
    table_name,data_type ,data_length,data_precision,data_scale from user_tab_columns where column_name='ORDER_ID'

    有了张表可以方便我们的很多查询。

  2. user_tables
    查询所有的表信息

  3. DECODE方法
    主要作用:将查询结果翻译成其他值
    使用方法:

    1
    Select decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)From tablename Where ...

    其中columname为要选择的为要选择的table中所定义的column
    if (条件==值1)
    then    
    return(翻译值1)
    elsif (条件==值2)
    then    
    return(翻译值2)    
    ……
    elsif (条件==值n)
    then    
    return(翻译值n)
    else
    return(缺省值)
    end if

  4. NVL函数
    NVL(E1, E2)的功能为:如果E1为NULL,则函数返回E2,否则返回E1本身。但此函数有一定局限,所以就有了NVL2函数。
    拓展:NVL2函数:Oracle/PLSQL中的一个函数,Oracle在NVL函数的功能上扩展,提供了NVL2函数。NVL2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。