﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-仿冒+改良=创新-随笔分类-数据库</title><link>http://www.blogjava.net/obpm/category/46140.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 29 Oct 2010 20:41:22 GMT</lastBuildDate><pubDate>Fri, 29 Oct 2010 20:41:22 GMT</pubDate><ttl>60</ttl><item><title>数据库SQL分页收集</title><link>http://www.blogjava.net/obpm/archive/2010/10/10/334223.html</link><dc:creator>obpm</dc:creator><author>obpm</author><pubDate>Sun, 10 Oct 2010 13:32:00 GMT</pubDate><guid>http://www.blogjava.net/obpm/archive/2010/10/10/334223.html</guid><wfw:comment>http://www.blogjava.net/obpm/comments/334223.html</wfw:comment><comments>http://www.blogjava.net/obpm/archive/2010/10/10/334223.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/obpm/comments/commentRss/334223.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/obpm/services/trackbacks/334223.html</trackback:ping><description><![CDATA[<p>在数据库层使用SQL分页可以很大程度增加平台系统程序运行速度与效率。本人只是初入手半数据库半程序的开发，所以对数据库研究不深。于是要收集下列代码以作参考，同时也Post出来可以让需要的人参考一下，高手就请见笑了。说转载说不上，说原创也... 国庆期间在家家里的机子跑DB比较困难，做不了过多测试。不过语句或函数方面本人都仔细看过抄回来的SQL的网页里示例，感觉基本上大同小异，如果有错误查下做相应的修改或百度Google一下应该没什么大问题，也请多多包涵。当然，有机会就会对下列SQL做测试，然后会进行修正。至于每个数据库分页在这就不进行深究，只是列出个可用的方法。</p>
<p>##########<br />
# MySQL#<br />
##########</p>
<p>select * from tlk_buginfo limit startPos, pageSize</p>
<p>startPos: 定义当前页起始位置(不包括startPos)<br />
pageSize: 每页显示数据的条数</p>
<p>##########<br />
# MSSQL#(2005的row_number，暂无2000)<br />
##########</p>
<p>1、<br />
--返回第20-40行数据<br />
select top 20 * from (select row_number() over (order by EmployeeID) as RowNumber, * from HumanResources.Employee) TableNickname where RowNumber&gt;=20</p>
<p>2、<br />
--返回第20-40行数据<br />
select * from (select row_number() over (order by EmployeeID) as RowNumber, * from HumanResources.Employee) TableNickname where RowNumber between 20 and 40</p>
<p>3、<br />
--返回第20-40行数据<br />
with OrderedResults as<br />
(select *, ROW_NUMBER() OVER (order by EmployeeID) as RowNumber FROM HumanResources.Employee)<br />
select * from OrderedResults where RowNumber between 20 and 40</p>
<p>##########<br />
# Oracle#<br />
##########</p>
<p>①采用rownum关键字(三层嵌套)<br />
--返回第5-15行数据<br />
select * from (select row_.*, rownum num from (select * from tlk_buginfo) row_ where rownum&lt;=15) where num&gt;=5</p>
<p>②采用row_number解析函数进行分页(效率更高)<br />
--返回第5-15行数据<br />
select tab.* from (select t.*, row_number() over (order by lastmodified) as num from tlk_buginfo t) tab where num between 5 and 15</p>
<p>##########<br />
# DB2#<br />
##########</p>
<p>select * from (select *, rownumber() over(order by 排序字段 asc ) as rowid&nbsp; from 表名 )as a where a.rowid &gt;= startPage AND a.rowid &lt;endPage</p>
<p>##########<br />
# Hsqldb#<br />
##########</p>
<p>select LIMIT 0 10 表名</p>
<br />
收集资料:(allen) 
   <img src ="http://www.blogjava.net/obpm/aggbug/334223.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/obpm/" target="_blank">obpm</a> 2010-10-10 21:32 <a href="http://www.blogjava.net/obpm/archive/2010/10/10/334223.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JBPM4.3数据表结构说明（转载）</title><link>http://www.blogjava.net/obpm/archive/2010/09/16/332229.html</link><dc:creator>obpm</dc:creator><author>obpm</author><pubDate>Thu, 16 Sep 2010 11:51:00 GMT</pubDate><guid>http://www.blogjava.net/obpm/archive/2010/09/16/332229.html</guid><wfw:comment>http://www.blogjava.net/obpm/comments/332229.html</wfw:comment><comments>http://www.blogjava.net/obpm/archive/2010/09/16/332229.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/obpm/comments/commentRss/332229.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/obpm/services/trackbacks/332229.html</trackback:ping><description><![CDATA[首先，在jbpm4中，流程定义相关的部署信息就存在<span style="color: red">JBPM4_DEPLOYMENT</span>、<span style="color: red">JBPM4_DEPLOYPROP</span>及<span style="color: red">JBPM4_LOB </span>(存放当发布一个png和xml文件后的流程定义后的记录)。中。 <br />
<br />
<span style="color: red">JBPM4_HIST_PROCINST</span>、<span style="color: red">JBPM4_HIST_ACTINST</span>两张表中，分别存放的是process Instance、Activity Instance的历史记录，Activity Instance是指流程定义中各个步骤：task descition等存放Process Instance、Activity Instance历史记录的表有了，那他们的当前记录存在什么地方呢？这就需要弄清楚jBPM的另外几个概念。一般而言，在jBPM中，&#8220;a process instance is the root of a tree of executions&#8221;。因此，当一个流程实例Split出两个并行步骤的时候，在<span style="color: red">JBPM4_EXECUTION</span>表中将有三笔相关记录，一笔是代表流程实例的Root Execution，另外两笔是关于上述两个并行步骤的Child Execution。 <br />
<br />
此外，在jbpm中，Activity的种类是很丰富的，可以是Control Flow Activities，如sub-process，decision等，也可以是Automatic Activity，如java、script、sql等，其中需要人来参与完成的Activity被称为Task，待办任务放在<span style="color: red">JBPM4_TASK</span>表中，而历史任务放在<span style="color: red">JBPM4_HIST_TASK</span>表中。 <br />
<br />
对一个Task而言，它可能会有多个Participation(swim lane 同样会有多个Participation)，Participation的种类有Candidate、client、owner、Replaced Assignee和viewer，而具体的Participation既可以是单一用户，也可以是用户组，Participation的信息存放在<span style="color: red">JBPM4_PARTICIPATION</span>中。 <br />
<br />
Swim Lane是一种Runtime Process Role，通过Swim Lane，多个Task可以一次分配到同一Actor身上，存放这些信息是表<span style="color: red">JBPM4_PARTICIPATION</span>。 <br />
<br />
<span style="color: red">JBPM4_ID_GROUP</span>、<span style="color: red">JBPM4_ID_MEMBERSHIP</span>、<span style="color: red">JBPM4_ID_USER</span>这是基本的权限控制，建议关于用户认证方面还是自己开发一套，这个功能太简单了，难以满足需求。 <br />
<br />
<span style="color: red">JBPM4_JOB</span>存放的是Timer的定义。 <br />
<br />
<span style="color: red">JBPM4_PROPERTY</span>这是jbpm引擎参数表。 <br />
<br />
<span style="color: red">JBPM4_VAR</span>表存放流程临时变量，当流程实例结束后，表中内容清除。 <br />
<br />
<span style="color: red">JBPM4_HIST_VAR</span>表存放历史临时变量，但是jbpm4好像还没有对这张表进行利用。 <br />
<br />
<span style="color: red">JBPM4_HIST_DETAIL</span>表保存变量变更记录。 <br />
<br />
<br />
<br />
了解jbpm4.3以上这18张表后，我们应该在流程运行中，详细观察jbpm是如何对这些表进行操作，以及进行什么样的操作的。 <br />
<br />
发布一个流程定义后： <br />
<br />
<span style="color: red">JBPM4_DEPLOYMENT</span>新增一条记录 <br />
<br />
<span style="color: red">JBPM4_DEPLOYPROP</span>新增三条记录 <br />
<br />
<span style="color: red">JBPM4_LOB</span>新增两条记录 <br />
<br />
<br />
<br />
开始一个流程startProcessInstanceByKey后： <br />
<br />
<span style="color: red">JBPM4_EXECUTION</span>新增一条记录 <br />
<br />
<span style="color: red">JBPM4_TASK</span>新增一条记录 <br />
<br />
<span style="color: red">JBPM4_HIST_PROCINST</span>、<span style="color: red">JBPM4_HIST_ACTINST</span>分别新增一条记录 <br />
<br />
<span style="color: red">JBPM4_HIST_TASK</span>新增一条记录 <br />
<br />
<br />
<br />
当执行taskService.setVariables(task.getId(), map);时，<span style="color: red">JBPM4_VARIABLES</span>中添加变量记录<br />
&nbsp;<br />
转载人员：Nicholas
<img src ="http://www.blogjava.net/obpm/aggbug/332229.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/obpm/" target="_blank">obpm</a> 2010-09-16 19:51 <a href="http://www.blogjava.net/obpm/archive/2010/09/16/332229.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>