标签归档:oracle技巧

oracle 查询数据表“满足一定条件”的结果集的第一条数据的方法分享


摘要:
下文讲述oracle获取第一条数据的方法分享,如下所示:
实验环境:sql server 2008 R2



oracle获取第一条数据使用伪列 rownum=1 代表第一行数据

---例:获取数据表 指定条件后的第一条数据
SELECT a.* from
(
    SELECT * FROM [数据表] where  [检索条件]   
     ORDER BY [排序字段] DESC
)  a WHERE rownum = 1

Oracle修改表结构修改方法及注释添加方法分享


摘要:
下文通过举例的方式讲述oracle中对表结构的修改方法及注释添加方法,如下所示:


一、修改数据表中字段类型

 
   ---语法:
   ALTER TABLE [数据表名称] MODIFY(列名 数据类型);
 
   ---例:修改数据表 tb_maomao中的列info为varchar(80)
   alter table tb_maomao modify (info VARCHAR(80));
   /*
     修改列类型注意事项: 列类型只可以改大,不可以改小
   */


二、为数据表增长一个数据列

 
   ---语法:
   ALTER TABLE [数据表名称] ADD(列名 数据类型);
 
   ---例:为数据表 tb_maomao  增加列info2为varchar(80)
   alter table tb_maomao ADD(info2 VARCHAR(80));


三、修改数据表中数据列名称

  
   ALTER TABLE [数据表名称]  RENAME COLUMN 旧数据列名称 TO 新数据列名称;
  
   ---例:为数据表 tb_maomao  将列名infoA修改infoB
   alter table tb_maomao  RENAME COLUMN infoA TO infoB;


四、删除数据表中的数据列

  
   ALTER TABLE [数据表名称] DROP COLUMN 数据列名称;
  
   ---删除数据表tb_maomao中的“infoA”列
   alter table tb_maomao  drop column infoA;


五、修改数据表名称

  
   ALTER TABLE [数据表名称] RENAME TO 新数据表名称;
  
   ---修改数据表 tb_maomao 名称为 tb_maomao_new
   alter table tb_maomao  rename to tb_maomao_new;


六、为数据表添加注释

  
   comment column on 数据表名称.数据列名称 is '列注释';   //变更列注释方法
    
    ---为数据表tb_maomao中的“infoA”列 添加注释信息
   comment on table tb_maomao.infoA   IS '列注释信息';  

Oracle 如何使用脚本查询所有数据表之间的主外键关系呢?


摘要:
下文讲述oracle数据库中,使用脚本查询数据表之间的主外键关系的方法,如下所示:
实验环境:oracle


实现思路:
通过检索系统表 user_constraints
user_constraints
user_cons_columns
找出主外键的关系信息

----查看整个数据库下的主外键表信息
  select a.table_name 主数据表, 
       b.table_name   数据子表, 
       column_name    数据键名称 
from 
      user_constraints a, user_constraints b, user_cons_columns c 
where 
      a.constraint_name = b.r_constraint_name 
and   a.constraint_name = c.constraint_name 
order by 1, 2, 4;

----查看特定“数据表”下的主外键表信息
select a.owner 主键所有者
,a.table_name 主键数据表
,b.column_name 主键数据列
,C.OWNER 外键所有者
,c.table_name 外键数据表
,d.column_name 外键数据列
from user_constraints  a
left join user_cons_columns b
    on  a.constraint_name=b.constraint_name
left join user_constraints C
    ON C.R_CONSTRAINT_NAME=a.constraint_name
left join user_cons_columns d
   on c.constraint_name=d.constraint_name
where  a.constraint_type='P'
    and  a.table_name='数据表名称' 
order by a.table_name