P处理的中有大量判断条件是的sql写法
在执行P处理时需要根据传经来的参数来写where条件的时候可能因为,参数太多,或者传值的范围太多而导致sql的where条件不好写。嵌套什么的都out。
最好的方法是,定义一个变量如: v_strSQL VARCHAR2(20000);然后执行的时候写: v_strSQL := 'SELECT FTBL.NENDO, FTBL.NENDO_MEISHO, FTBL.FUKUSHIKI_RENBAN, FTBL.SHIKKO_NO || ''_'' || FTBL.SHIKKO_NO_EDABAN AS SHISHUTSUNO, ' ||
'CASE FTBL.DATA_SHUBETSU WHEN ''0'' THEN ''歳入'' WHEN ''1'' THEN ''歳出'' WHEN ''3'' THEN ''資産'' WHEN ''4'' THEN ''決算整理'' WHEN ''5'' THEN ''マッチング'' WHEN ''7'' THEN ''連結'' ELSE '''' END AS KBN, ' ||
'TO_CHAR(TO_DATE(FTBL.SHIKKO_DATE, ''YYYY/MM/DD''), ''YYYY/MM/DD'') AS SHIKKO_DATE, ' ||
'FTBL.SHUKANKA, FTBL.SHUKANKA_REF.BUMON_MEISHO, ' ||
'FTBL.SHIKKO_KIKAN, FTBL.SHIKKO_KIKAN_REF.BUMON_MEISHO, ' ||
'FTBL.KAIKEI, FTBL.KAIKEI_REF.KAIKEI_MEISHO, ' ||
'NVL(FTBL.TANSHIKI_KAMOKU.KANKOMOKU.KAN, '''') AS KAN, NVL(FTBL.TANSHIKI_KAMOKU.KANKOMOKU.KOU, '''') AS KOU, NVL(FTBL.TANSHIKI_KAMOKU.KANKOMOKU.MOKU, '''') AS MOKU, ' ||
'NVL(FTBL.TANSHIKI_KAMOKU.JIGYO.JIGYO_DAI, '''') AS DAI, NVL(FTBL.TANSHIKI_KAMOKU.JIGYO.JIGYO_CHU, '''') AS CHU, ' ||
'NVL(FTBL.TANSHIKI_KAMOKU.JIGYO.JIGYO_SHO, '''') AS SHO, NVL(FTBL.TANSHIKI_KAMOKU.JIGYO.JIGYO_SAI, '''') AS SAI, ' ||
'NVL(FTBL.TANSHIKI_KAMOKU.SETSU.SETSU, '''') AS SETSU, NVL(FTBL.TANSHIKI_KAMOKU.SETSU.SAISETSU, '''') AS SAISETSU, NVL(FTBL.TANSHIKI_KAMOKU.SETSU.SAISAI, '''') AS SAISAI, ' ||
'CASE DATA_SHUBETSU WHEN ''0'' THEN NVL(FTBL.SAINYU_KAMOKU_REF.TANSHIKI_MEISHO,'''') WHEN ''1'' THEN NVL(FTBL.SAISHTSU_KAMOKU_REF.TANSHIKI_MEISHO,'''') ELSE '''' END AS KAMOKUMEI, ' ||
'SWK_NT.KARIKATA.KINGAKU, SWK_NT.REMARKS ' ||
'FROM FUKUSHIKI_TAB FTBL, TABLE(FTBL.SHIWAKE_DATA) SWK_NT ' ||
'WHERE FTBL.DATA_SHUBETSU = ''' || wkDataType || ''' AND FTBL.NENDO = ' || wkNendo ||
' AND FTBL.SHIKKO_DATE >= ''' || wkShikkoDateFrom || ''' AND FTBL.SHIKKO_DATE <= ''' || wkShikkoDateTo || ''' ';在需要根据参数来写where的时候:
IF wkDataType = '1' THEN /* データ種別が歳出の場合のみ */
IF wkDaiJigyo != '00' THEN /* 大事業 */
v_strSQL := v_strSQL || 'AND FTBL.SAISHTSU_DAI_JIGYO_REF.HYOJI_TANSHIKI.JIGYO.JIGYO_DAI = ''' || wkDaiJigyo || ''' ';
END IF;
IF wkChuJigyo != '00' THEN /* 中事業 */
v_strSQL := v_strSQL || 'AND FTBL.SAISHTSU_CHU_JIGYO_REF.HYOJI_TANSHIKI.JIGYO.JIGYO_CHU = ''' || wkChuJigyo || ''' ';
END IF;
IF wkShoJigyo != '00' THEN /* 小事業 */
v_strSQL := v_strSQL || 'AND FTBL.SAISHTSU_SHO_JIGYO_REF.HYOJI_TANSHIKI.JIGYO.JIGYO_SHO = ''' || wkShoJigyo || ''' ';
END IF;
IF wkSaiJigyo != '00' THEN /* 細事業 */
v_strSQL := v_strSQL || 'AND FTBL.SAISHTSU_SAI_JIGYO_REF.HYOJI_TANSHIKI.JIGYO.JIGYO_SAI = ''' || wkSaiJigyo || ''' ';
END IF;
END IF;
P处理的中有大量判断条件是的sql写法相关推荐
- 关于类似“石头、剪刀、布”游戏,需要循环判断的,判断条件设计技巧
问题描述: 编写的游戏程序:猜拳游戏 - 人机大战 人出的手势包括:石头.剪刀.不 电脑出的手势包括:石头.剪刀.不 这样,一共会出现3x3=9中情况,除去人和电脑出相同手势的情况,还剩下7种 在一般 ...
- 设置岗哨为-1的直接插入排序算法的java代码实现(改进上次的判断条件过多问题)
在上次的代码执行过程中,未设置返回索引为-1,对于三种情况需要逐一进行判断,执行不同的策略,该方案优化上述的缺陷,使之达到一种自适应状态,相对巧妙的解决了冲突域的问题:注意的细节问题在代码中有详细的注 ...
- 0字符串 if mapper test_mybatis的if判断条件将字符串解析成了数字
mybatis可以帮我们自动映射字段,在mapper.xml文件中,我们可以不用去写jdbcType来明确指定数据类型,它会自动解析成相对应的java数据类型,每次在使用了mybatis-genera ...
- R语言ggplot2可视化:通过在element_text函数中设置ifelse判断条件自定义标签文本的显示格式:例如、粗体、斜体等
R语言ggplot2可视化:通过在element_text函数中设置ifelse判断条件自定义标签文本的显示格式:例如.粗体.斜体等 目录
- pandas使用query函数基于判断条件获得dataframe中满足条件的数据行(row)的索引列表(index of rows matching conditions in dataframe)
pandas使用query函数基于判断条件获得dataframe中满足条件的数据行(row)的索引列表(index of rows matching conditions in dataframe) ...
- 查询数据库返回cursor,如何判断没有符合条件的记录。判断条件不是cursor==null 哦
如题,接着说,如果查询数据库返回cursor,要判断记录是否为空,然后根据结果进行不同的操作.应该如何写判断条件呢? 很简单,用这个函数:cursor.getCount() . 如果记录为空,该函 ...
- jpa中使用Query判断条件查询
jpa中使用Query判断条件查询 @Query(value = " select m.* from mining_area as m " +" where 1 = 1& ...
- 关于JS中switch语句的判断条件!
<!--不使用parseInt()函数--><!DOCTYPE HTML><html><head><meta http-equiv="C ...
- 获取项目版本号与设置引导页的判断条件
当我们首次安装软件打开后,会有5页左右的ScrollView滑动图片,来介绍这个软件的特色和功能,我们叫做引导页.这个引导页只有用户安装后第一次使用的时候才会加载,或者当用户进行版本升级后再次运行的首 ...
最新文章
- js websocket同步等待_WebSocket硬核入门:200行代码,教你徒手撸一个WebSocket服务器...
- hdu4940 有上下界的无源可行流判断
- linux光盘安装yum,[转载]将linux安装光盘配置为一个本地yum源
- java版spring cloud+spring boot+redis多租户社交电子商务平台(十二)断路器监控(Hystrix Dashboard)...
- [register]-ARMV8系统中通用寄存器和系统寄存器的介绍和总结
- linux安装php pgsql,Linux下apache php+phppgadmin+postgresql安装配置
- Connect 2016过后,你的信仰势必需要更大的容器
- [Leetcode][第114题][JAVA][二叉树展开为链表][递归][迭代]
- springboot请求处理
- Circular microphone array 1
- 仿XP系统的任务栏菜单
- 进阶篇第九期:相册与拍照的后处理
- 破解wifi并实施中间人攻击
- 字符编码:GBK、GB2312、UTF-8
- 磁盘列阵技术介绍及其部署
- 2021-01-21:脉冲神经网络学习日志
- Spring实战第五章idea复现
- openlayers学习——3、openlayers加点加圆加图标图片
- 读书有益——》小朋友的诗(六)
- ALTER PLUGGABLE DATABASE xxx CLOSE卡住