(v_tblname varchar2,v_flag out varchar2)
as
cursor cur_tbl is select TBLNAME,FLDNAME from SYS_FLD where FKTBLNAME=v_tblname order by XH;
s_tblname varchar2(32);
s_fldname varchar2(32);
n_count number(8):=0;begin
open cur_tbl;
LOOP
FETCH cur_tbl INTO s_tblname,s_fldname;
EXIT WHEN cur_tbl%NOTFOUND;
select count(*) into n_count from s_tblname where s_fldname in not null;
END LOOP;
close cur_tbl;end;编译时提示select count(*) into n_count from s_tblname where s_fldname in not null;这一句的s_fldname和s_tblname不认识.
as
cursor cur_tbl is select TBLNAME,FLDNAME from SYS_FLD where FKTBLNAME=v_tblname order by XH;
s_tblname varchar2(32);
s_fldname varchar2(32);
n_count number(8):=0;begin
open cur_tbl;
LOOP
FETCH cur_tbl INTO s_tblname,s_fldname;
EXIT WHEN cur_tbl%NOTFOUND;
select count(*) into n_count from s_tblname where s_fldname in not null;
END LOOP;
close cur_tbl;end;编译时提示select count(*) into n_count from s_tblname where s_fldname in not null;这一句的s_fldname和s_tblname不认识.
解决方案 »
- 如何找出最后插入的记录
- 在oracle中如何查看在某一段时间内执行的sql语句所用的时间
- 写了一个sql脚本,用命令行执行有错误,求解
- 数据库迁移问题
- 一个奇怪的问题
- SQL 当前表与历史表字段对比 两个表结构相同(在线等小弟只有20分了非常感谢)
- 如何在查询语句中增加序号?
- oci ,以及dmalloc問題請教 , 我由chinaunix,轉戰itpub,都沒人願意出手,只好請csdn高手幫忙
- 表分区创建后,如何修改分区的范围(范围分区)
- 查询Oracle空间范围的时候报了如下的错 ORA-01013 是坐标点太多了吗?
- 高分求类似SUM函数,连接字符串(帮忙UP者有分)
- 请问专家:oralce的相关文件丢失,如何恢复?
s_fldname varchar2(32);
这两个是变量~要换成:
EXECUTE IMMEDIATE 'select count(*) into n_count from s_tblname where s_fldname in not null'
用到 from 表名,那表名就应该在数据库里~
如没有,或动态的话,都是用 EXECUTE IMMEDIATE '...' 语句来执行动态sql. :)