当前所在位置:珠峰网资料 >> 计算机 >> Oracle认证 >> 正文
综合辅导:Oracle查询表、视图、序列等信息查询
发布时间:2010/1/15 20:06:43 来源:城市学习网 编辑:海蓝

  这几天做性能优化,网上找了些资料。

  有时候需要导出某用户下的所有table、view、sequence、trigger等信息,下面的SQL可以将这些信息select出来:

  select * from user_tables;

  select * from user_views;

  select * from user_sequences;

  select * from user_triggers;

  想查找表的数据条数

  试试这个

  select t.table_name,t.num_rows from user_tables t

  如果没有值,那就创建个函数

  代码

  create or replace function count_rows(table_name in varchar2,

  owner in varchar2 default null)

  return number

  authid current_user

  IS

  num_rows number;

  stmt varchar2(2000);

  begin

  if owner is null then

  stmt := 'select count(*) from "'||table_name||'"';

  else

  stmt := 'select count(*) from "'||owner||'"."'||table_name||'"';

  end if;

  execute immediate stmt into num_rows;

  return num_rows;

  end

  再执行查询

  select table_name, count_rows(table_name) nrows from user_tables

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved