Oracle小心得+前言

前沿

转了一个新项目组,前台用的是谷歌的GWT,然后对其有一层封装。

我自己简单的总结下就是,

1.由于GWT这框架是将JAVA代码转换为JS和html代码,他会对自己支持的类进行转换,也会对java常用的类进行转换,但是像一些比较新的类库,Calendar就不行了,所以自己的写的类基本就别放到前台渲染那块。

2.作为一个金融(正常)的应用,和数据库打交道是肯定的了,转换后的JS和数据库打交道,我们就用到了SOAP(简单对象访问协议SimpleObjectAccessProtocol),大概是我们前台的js会发送一段数据到服务器,包括一个requestID和其他数据,然后这个requestID配置了一个xml文件,由这个xml文件定义的规则去解析这个请求的数据,然后和数据库交互,返回数据,因为这个请求是异步的,有回调函数。

3.吐槽下,这个项目每天要和澳大利亚那边开会,全英语啊,每天12点半吃饭,而且印度阿三写的代码,我们还要去review,写的实在太烂了,每天都要做release真是痛苦,去修正一个defect,会发现一些其他的问题,但是我会努力的,打怪升级。


今日分享

1.先说下动态SQL把,动态SQL听起来很高大上,其实就是 EXECUTE IMMEDIATE +变量SQL语句,就是可以在PL/SQL里面拼接你需要的SQL,我随便写个demo把。
DECLARE
	CONDITION1 VARCHAR(20):=' field1 =''5''';
	STATEMENT VARCHAR(100):='SELECT  * FROM TABLE1 WHERE 1=1 AND ';
BEGIN
	SELECT CONCAT(STATEMENT ,CONDITION1 ) INTO STATEMENT FROM DUAL;
	--SELECT STATEMENT || CONDITION1 INTO STATEMENT FROM DUAL;
	EXECUTE IMMEDIATE STATEMENT ;
END;

我电脑上没装ORACLE  = =,不知道语法正确不,谁看到错了说下额。

动态SQL中如果要拼接变量进去,如果不是数值型的话,记得添加2个单引号,自己写好了最好测试下,这里我都是泪。

2.说下我今天用到的一个函数把,然后一个了解到的组合。

</pre><pre name="code" class="sql">SELECT DECODE(COLUMN1,'A','I AM A','I AM NOT A') FROM TABLE1;
SELECT DECODE(COLUMN1,'A','I AM A','B','I AM B','I AM NOT A AND B') FROM TABLE1;

有了这个就可以不用PLSQL去写if else了,不过现在局限于 判断条件只能是 =。 如果想实现类似like呢。

SELECT DECODE(INSTR(COLUMN,'A'),'0','NOT HAVE A','HAVE A') FROM TABLE1;

类似这样就好了


完结,我要去敲代理模式的代码了。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值