查询所有记录数大于1的表

来源:互联网 发布:易语言编程系统全套 编辑:程序博客网 时间:2024/06/05 11:48
--查询所有记录数大于1的表declare  cursor c_cur is    select a.TABLE_NAME from user_tables a; --这是游标  c_count number;  str     varchar2(2000); --存动态SQLbegin  --循环变量表,判断每张表的记录数  for b_cur in c_cur loop    --特么的需要注意这边的 into 需要在外面   之前还有个using 动态    execute immediate 'select  count(1) /*into c_count*/ from ' ||                      b_cur.table_name      into c_count;      --此处注意 你取得数是调用的变量 B_CUR(c_CUR会报错)    if c_count > 0 then      dbms_output.put_line(b_cur.table_name || ' 表中有 ' || c_count ||                           ' 条数据。');    else      dbms_output.put_line(b_cur.table_name || ' 表中无数据。');    end if;  end loop;end;
此例时两个问题
1、for b_cur in c_cur loop 后面取值需要 b_cur.table_name;
2、动态SQL into 需要 into 在外面
execute immediate 'select count(1) /*into c_count*/ from ' || b_cur.table_name into c_count;
                                             
0 0
原创粉丝点击