2011年9月5日
摘要: 对比区别: 1 select * from TTable1 for update 锁定表的所有行,只能读不能写 2 select * from TTable1 where pkid = 1 for update 只锁定pkid=1的行 3 select * from Table1 a join Table2 b on a.pkid=b.pkid for update 锁定两个表的所有记录 4 select * from Table1 a join Table2 b on a.pkid=b.pkid where a.pkid = 10 for update 锁定两个表的中满足条件的行 ... 阅读全文
posted @ 2011-09-05 01:27 星^_^風 阅读(955) 评论(0) 推荐(0) 编辑
  2011年8月29日
摘要: 1 getCurrentSession创建的session会和绑定到当前线程,而openSession不会。2 getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭这里getCurrentSession本地事务(本地事务:jdbc)时 要在配置文件里进行如下设置 * 如果使用的是本地事务(jdbc事务)<property name="hibernate.current_session_context_class">thread</property> * 如果使用的是全局事务(jta事务)& 阅读全文
posted @ 2011-08-29 01:15 星^_^風 阅读(159) 评论(0) 推荐(0) 编辑
  2011年8月25日
摘要: Oracle里的两个日期类型的数据相减得到的天数相差天数SQL>select to_date('2010-03-02','yyyy-mm-dd')-to_date('2010-02-10','yyyy-mm-dd') from A--------20----------结果为2月10日到3月2日的天数SQL>select trunc(to_date('2010-03-02','yyyy-mm-dd'),'mm')- trunc(to_date('2010-02-1 阅读全文
posted @ 2011-08-25 01:39 星^_^風 阅读(449) 评论(0) 推荐(0) 编辑
  2011年8月24日
摘要: 1.Select 1在这里我主要讨论的有以下几个select 语句:table表是一个数据表,假设表的行数为10行,以下同。1:select 1 from table 2:select count(1) from table 3:select sum(1) from table对第一个select语句,我刚开始以为是“1”代表是列名,从2,3种顺推得出得结果:)有点无耻吧。不过通过我自己得观察,这样我觉得是不对的,所以我在SQL SERVER中测试了一下,发现结果如下:1:测试结果,得出一个行数和table表行数一样的临时列(暂且这么叫,我也不知道该叫什么),每行的列值是1;2:得出一个数,该 阅读全文
posted @ 2011-08-24 17:57 星^_^風 阅读(210) 评论(0) 推荐(0) 编辑
  2011年8月20日
摘要: 序列:产生一个唯一递增的数字,一般使用序列自动生成主键.序列的创建语法如下:create sequence 序列名称start withn--设置开始值n,创建之后不可修改.对于升序序列,其默认值为该序列最小值;对于降序序列,其默认值为该序列最大值.increment byn --设计增长量n.其默认为1.maxvalue n | nomaxvalue --最大值n.也可以设置无最大值,如果设置nomaxvalue,其升序最大值10的27次方;降序最大值为-1.minvalue n | nominvalue --最小值n.cycle --【nocyle】达到最大值或者最小值,可以【不可以】从头 阅读全文
posted @ 2011-08-20 13:11 星^_^風 阅读(135) 评论(0) 推荐(0) 编辑
  2011年8月19日
摘要: 在Oracle中as关键字不能用于指定表的别名,在Oracle中指定表的别名时只需在原有表名和表的别名之间用空格分隔即可,但可以用于指定列的别名,但在存储过程中如果列的别名与原有列名相同,在运行时会报错(编译时不会出错),其他情况下列的别名可以与列名本身相同。 阅读全文
posted @ 2011-08-19 23:20 星^_^風 阅读(617) 评论(0) 推荐(0) 编辑
摘要: TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyyy four digits 四位年 显示值:2007 Month: mm number 两位月 显示值:11 mon abbreviated 字符集表示 显示值:11月,若是英文版,显示nov month spelled out 字符集表示 显示值:11月,若是英文版,显示november Day: dd number 当月第几天 显示值:02 ddd number 当年第几天 显... 阅读全文
posted @ 2011-08-19 23:06 星^_^風 阅读(310) 评论(0) 推荐(0) 编辑
摘要: Struts 2框架整合Spring很简单,下面是整合的步骤。(1)复制文件。复制struts2-spring-plugin-x-x-x.jar和spring.jar到WEB-INF/lib目录下。其中的x对应了Spring的版本号。还需要复制commons-logging.jar文件到WEB-INF/lib目录下。(2)配置struts.objectFactory属性值。在struts.properties中设置struts.objectFactory属性值:struts.objectFactory = spring或者在XML文件中进行常量配置:<struts><cons 阅读全文
posted @ 2011-08-19 03:07 星^_^風 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 在生产中常会遇到需要将数量比较大的表值导入到本地文本文件中. 方法有很多种,比较常用的就是spool命令: 要输出符合要求格式的数据文件只需在select时用字符连接来规范格式。比如有如下表 SQL>; select id,username,password from myuser;//测试表 1 John 1234 2 Jack 12345 3 Rose 2345 4 Joe 384657 5 Tom 384655 6 Jordan 384455 要输出符合1,John,1234,这样的数据格式就用select id||','||username||',' 阅读全文
posted @ 2011-08-19 02:31 星^_^風 阅读(414) 评论(0) 推荐(0) 编辑
  2011年8月18日
摘要: scott 是个演示用户,是让你学习ORACLE用的hr用户是个示例用户,是在创建数据库时选中“示例数据库”后产生的,实际就是模拟一个人力资源部的数据库。SYSDBA 不是用户,可以认为是个权限,超级权限。默认中sys就拥有这种超级权限,是权限最高的用户。详细点说吧 超级用户分两种 SYSDBA和SYSOPTSYSOPT 后面3个字母是operator的意思,也就是操作数据库的人,而SYSDBA 则是管理数据库的人SYSDBA比SYSOPT的权限还要大,而SYS用户就完全是个SYSDBA,但SYSTEM用户默认是SYSOPT,不过它也能以SYSDBA的权限登陆sys和system用户区别1)最 阅读全文
posted @ 2011-08-18 18:56 星^_^風 阅读(208) 评论(0) 推荐(0) 编辑