我想通过存储过程做数据考核,定义了个配置表,里面是 sql 查询语句,该表是可维护的,数据条数不定,每条语句的表名和查询的字段个数都是不同的,例如:
select name, id from students; 或者 select age, height, weight from children;等等。
我想动态的执行这些sql语句,然后取出每条语句执行后的结果集里的每条数据的每个字段逐一校验,比如我想可以通过动态cursor或者别的方法实现,请问怎样做,谢谢!
select name, id from students; 或者 select age, height, weight from children;等等。
我想动态的执行这些sql语句,然后取出每条语句执行后的结果集里的每条数据的每个字段逐一校验,比如我想可以通过动态cursor或者别的方法实现,请问怎样做,谢谢!
' where ZWFZYE_KMBH=:kmbh and ZWFZYE_KJQJ=:kjqj and ZWFZYE_DWBH=:dwbh and to_number(ZWFZYE_BMBH)=:bmbh'; execute immediate tsql into result using as_km,tmonth,as_org,as_fz;result 为动态返回值
tsql := 'select '|| tcolname ' from ' || ' where ' ||twhere;-- 然后执行这个sql execute immediate tsql into result; --using as_km,tmonth,as_org,as_fz;--result 查询结果 如果使用其他参数,则按位置使用using对应。
,该表是可维护的,数据条数不定,动态的组成sql语句,每条语句的表名和查询的字段个数都是不同的,例如:
select name, id from students; 或者 select age, height, weight from children;等等。
我想动态的执行这些sql语句,然后取出每条语句执行后的结果集里的每条数据的每个字段逐一校验,比如我想可以通过动态cursor或者别的方法实现,请问怎样做,谢谢!
oracle 为 9i
khcur khcurtype; type t_varchar2 is table of varchar2(30) index by binary_integer;
keys t_varchar2;
begin
selkeyc := 'select ' || key || ' from ' || tabname || ' where ' ||
condition;
--获取主键
if not khcur%isopen then
open khcur for selkeyc;
fetch khcur bulk collect
into keys;
close khcur; for i in 1 .. keys.count loop
keyvalue := keys(i);其中 key 是动态的,如 key= id, name, xm
这么做只能取出 id, 但是 name, xm 什么的怎么取呢?