bayannur 发表于 2010-12-27 17:23:38

如何用查询变量表中的记录数?

我想查询一个表的数据量,并插入到一个变量lv_num 中。
那么我用 SELECT count(1) INTO lv_numFROM   tablename;这个语句即可,tablename为一个具体的表。

如果tablename 是一个varchar2变量,那么我觉得得用如下语句:
str := 'SELECT count(1) INTO lv_num '   ||' FROM ' || tablename;
execute immediate str ;
但是会报错,而且这样就不能 将表中的记录数赋予lv_num。

如果tablename是varchar2变量这种情况我不知道该怎么办。有哪位老师同学知道吗?

kevin.zhang 发表于 2010-12-27 18:11:18

'SELECT count(1) ' INTO lv_num

bayannur 发表于 2010-12-27 18:21:23

回复 kevin.zhang 的帖子

str := 'SELECT count(1) '   || INTO lv_num   FROM   tablename;
execute immediate str ;
是这样吗?如果是这样会报错。ls能不能说详细一点,谢谢了!

bayannur 发表于 2010-12-28 16:17:03

问题解决了,方法如下:
    str := 'SELECT trunc(count(1)/'||dnum||') + 1 FROM'|| tablename;
    EXECUTE IMMEDIATE str INTO lv_num;
    dbms_output.put_line(lv_num);
页: [1]
查看完整版本: 如何用查询变量表中的记录数?