orcal 存储过程 怎么用变量表示列值和判断

现有需求  表一 table1  列 a,b,c

配置表  table2 列 zdm(表一的字段名) ,pdgz(判断规则 >,<,<=,=> 四种),pdz(判断值,和table1 中的表作对比得值)

想写一个存储过程 通过配置表 判断表1 是否符合数据

例如 table2得值为 zdm(a),pdgz(>),pdz(10) 就是寻找表一中a列大于10的值

但是写存储过程时全是变量 怎表示

最简单的方式是用动态sql,把sql的字符串拼出来,再用execute immediate去执行这个SQL字符串。
如果不用动态sql的话,其实就是在where条件中,对判断规则进行解析

where  (case 
when pdgz ='>' and  zdm>pdz then 1
when pdgz ='<' and  zdm<pdz then 1
when pdgz ='<=' and zdm<=pdz then 1
when pdgz ='>=' and zdm>=pdz then 1
end )=1