求一SQL,怎么算出库中所有表记录不为空的表

yk1028 2004-09-13 09:42:44
即取某一库中有内容的表名
...全文
95 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bzszp 2004-09-14
  • 打赏
  • 举报
回复
update tbname set col=replace(col,'Gr','Cr')
where instr(col,'Gr')>0;
jinbingg 2004-09-14
  • 打赏
  • 举报
回复
忙着,郁闷并快乐着。自信很重要,
LovenDreams 2004-09-13
  • 打赏
  • 举报
回复
UP
yk1028 2004-09-13
  • 打赏
  • 举报
回复
问题用一种比较蠢的方法已解决,汗。。。。。
待会结帖。忙中。郁闷。。。。

yk1028 2004-09-13
  • 打赏
  • 举报
回复
多谢楼上。
没来及测试,又有一问题
表中一字段值类似15GrMo,N千条这种含有Gr的数据,怎么用一sql把Gr换成Cr
即成为15CrMo

多谢。如可以另开贴,只是时间及没来及。
zealot_zk 2004-09-13
  • 打赏
  • 举报
回复
好像没有直接的命令,自己写一个过程吧:
思路如下:
select 'select * from ' || table_name || ';' from user_tables;
上面的语句返回一个结果集,用游标来指示,执行获得的每一个:select * from tb_name;语句,在执行后判断sql%count的值,如果sql%count为‘0’那说明刚刚的表中没有数据,如果sql%count不为‘0’说明有数据,这样就可以判断了。
具体的实现可以自己考虑。
beckhambobo 2004-09-13
  • 打赏
  • 举报
回复
declare
cursor t_sor is
select table_name from user_table;
num number:=0;
begin
for v_sor in t_sor loop
execute immediate 'select count(1) from '||v_sor.table_name into num;
if num=0 then
dbms_output.put_line(v_sor.table_name);
end if;
end loop;
end;
/

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧