当使用delphi 的adoquery连接oracle数据库时 要注意了: SQL 中包含 多个case when 时一
定要加括弧呀 否则直接报异常或cpu调试
问题很诡异 同样的SQL 放到PL/SQL里不加括弧就可以执行 一直以为PL里能执行的adoquery也能用 现在看来不是 算是经验吧
SQL 示例如下
问题很诡异 同样的SQL 放到PL/SQL里不加括弧就可以执行 一直以为PL里能执行的adoquery也能用 现在看来不是 算是经验吧
SQL 示例如下
select a.MARC_REC_NO,(case marc_use_flag when '1' then '订购' when '2' then '待编' when '3' then '已编' when '4' then '审校' end) as marc_use_flag,MARC_TYPE,CATA_OPER,CATA_DATE,LANG_CODE,DOC_TYPE_CODE,M_CALL_NO,M_TITLE,M_AUTHOR,M_PUBLISHER,M_PUB_YEAR,M_ISBN ,b.ASORD_NO,GET_MODE_CODE,CARRIER_CODE,PUBL_FREQ,KIND_NO,(case PERI_TYPE when '0' then '正常刊' when '1' then '改名刊' when '2' then '停刊' when '3' then '停定刊' end) as PERI_TYPE,PERI_ORD_QTY,PERI_PRICE,PERI_TOTAL_PRICE,REMARK,(case ORD_FLAG when '0' then '未发订' when '1' then '已发订' end) as ORD_FLAG from marc a ,PERI_ORD_DETL b where a.marc_rec_no =b.marc_rec_no and b.peri_ord_cata_id='4BE9F5BA819749C984CE13D922E22C87'