再解释一下:((&0009&) >= 10 and (&0009&) <160) or (&0008&) <160 ...(后面还可能有其他and..or..条件)c_tj varchar2;--条件
c_tj := '((&0009&) >= 10 and (&0009&) <160) or (&0008&) <160'
其中0009,0008...是做为条件字段的,他们对应与另外一个表z_tjzd(条件字段)的TJZDDM(条件字段代码 )
SQL> desc z_tjzd
Name Type Nullable Default Comments
------ ------------ -------- ------- ------------
TJZDDM VARCHAR2(4) 条件字段代码
MC VARCHAR2(30) Y 名称
BBS VARCHAR2(30) 表标识
GZDHZD VARCHAR2(20) 工作单号字段
TYPE VARCHAR2(20) Y 字段类型
BZD VARCHAR2(20) 表字段
数据如:
SQL> select * from z_tjzd where rownum<=3;TJZDDM MC BBS CDBHZD TYPE BZD
------ ------------------------------ ------------------------------ -------------------- -------------------- --------------------
0007 LCJS A_LCKZ CDBH boolean LCJS
0008 业扩客户类型 A_KHSQXX CDBH string KHLX
0009 申请容量 A_KHSQXX CDBH float SQRL
我处理时,首先根据0009(TJZDDM)到表z_tjzd查找此代码对应的表和字段
然后将c_tj中的字符串组合成诸如:SELECT *
FROM A_KHSQXX ,
WHERE ( A_KHSQXX.SQRL>=10
AND A_KHSQXX.SQRL<=100)
OR (...) 的语句我不知道应该怎么解析:((&0009&) >= 10 and (&0009&) <160) or (&0008&) <160 ...(后面还可能有其他and..or..条件)
c_tj := '((&0009&) >= 10 and (&0009&) <160) or (&0008&) <160'
其中0009,0008...是做为条件字段的,他们对应与另外一个表z_tjzd(条件字段)的TJZDDM(条件字段代码 )
SQL> desc z_tjzd
Name Type Nullable Default Comments
------ ------------ -------- ------- ------------
TJZDDM VARCHAR2(4) 条件字段代码
MC VARCHAR2(30) Y 名称
BBS VARCHAR2(30) 表标识
GZDHZD VARCHAR2(20) 工作单号字段
TYPE VARCHAR2(20) Y 字段类型
BZD VARCHAR2(20) 表字段
数据如:
SQL> select * from z_tjzd where rownum<=3;TJZDDM MC BBS CDBHZD TYPE BZD
------ ------------------------------ ------------------------------ -------------------- -------------------- --------------------
0007 LCJS A_LCKZ CDBH boolean LCJS
0008 业扩客户类型 A_KHSQXX CDBH string KHLX
0009 申请容量 A_KHSQXX CDBH float SQRL
我处理时,首先根据0009(TJZDDM)到表z_tjzd查找此代码对应的表和字段
然后将c_tj中的字符串组合成诸如:SELECT *
FROM A_KHSQXX ,
WHERE ( A_KHSQXX.SQRL>=10
AND A_KHSQXX.SQRL<=100)
OR (...) 的语句我不知道应该怎么解析:((&0009&) >= 10 and (&0009&) <160) or (&0008&) <160 ...(后面还可能有其他and..or..条件)
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货