Rex

——生命不止,奋斗不息。
posts - 27, comments - 8, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

2008年4月30日

一、触发器概念 触发器(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,例如当对一个表进行操作( insert,delete, update)时就会激活它执行。 触发器经常用于加强数据的完整性约束和业务规则等。 触发器创建语法四要素: 1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete) 触发器基本语法如下所示: DROP TRIGGER if EXISTS 触发器名; CREATE TRIGGER 触发器名 BEFORE INSERT ON 表名 FOR EACH ROW BEGIN sql语句 END 其中: trigger_time是触发器的触发事件,可以为before(在检查约束前触发)或after(在检查约束后触发); trigger_event是触发器的触发事件,包括insert、update和delete,需注意对同一个表相同触发时间的相同触发事件,只能定义一个触发器; 可以使用old和new来引用触发器中发生变化的记录内容。 触发器SQL语法: DROP TRIGGER if EXISTS triggle_insert_enroll_students; CREATE TRIGGER triggle_insert_enroll_students AFTER INSERT ON t_course_enroll_students FOR EACH ROW BEGIN -- update t_course_enroll_students set pid=(select id from t_course_enroll where t_course_enroll.course_name=t_course_enroll_students.course_name) where id=t_course_enroll_students.id; set new.pid=(select id from t_course_enroll where t_course_enroll.course_name=new.course_name); END

posted @ 2017-11-24 14:33 W.R 阅读(241) | 评论 (0)编辑 收藏

本文截取自 http://bbs.51testing.com/thread-11978-1-1.html α、β、λ常用来表示软件测试过程中的三个阶段,α是第一阶段,一般只供内部测试使用;β是第二个阶段,已经消除了软件中大部分的不完善之处,但仍有可能还存在缺陷和漏洞,一般只提供给特定的用户群来测试使用;λ是第三个阶段,此时产品已经相当成熟,只需在个别地方再做进一步的优化处理即可上市发行。 在软件交付使用之后,用户将如何实际使用程序,对于开发者来说是无法预测的. α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试. α测试的目的是评价软件产品的FLURPS(即功能,局域化,可使用性,可靠性,性能和支持).尤其注重产品的界面和特色. α测试可以从软件产品编码结束之时开始,或在模块(子系统)测试完成之后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始. β测试是由软件的多个用户在实际使用环境下进行的测试.这些用户返回有关错误信息给开发者. 测试时,开发者通常不在测试现场.因而,β测试是在开发者无法控制的环境下进行的软件现场应用. 在β测试中,由用户记下遇到的所有问题,包括真实的以及主观认定的,定期向开发者报告. β测试主要衡量产品的FLURPS.着重于产品的支持性,包括文档,客户培训和支持产品生产能力. 只有当α测试达到一定的可靠程度时,才能开始β测试.它处在整个测试的最后阶段.同时,产品的所有手册文本也应该在此阶段完全定稿. 51Testing第五十六期软件测试沙龙(成都站)开始报名 建议楼主多看看精华区的帖子,不要只顾发贴问——要经过思考 另外,在精华区也有 [url]http://bbs.51testing.com/viewthread.php?tid=583&fpage=2[/url] 学而不思则惘,思而不学则

posted @ 2011-07-05 10:32 W.R 阅读(886) | 评论 (0)编辑 收藏

select * from v$sql order by first_load_time

posted @ 2009-07-07 10:15 W.R 阅读(421) | 评论 (0)编辑 收藏

select * from v$sql order by first_load_time

posted @ 2009-07-07 10:14 W.R 阅读(293) | 评论 (0)编辑 收藏

所有 HTTP 状态代码及其定义。
 代码  指示  
2xx  成功  
200  正常;请求已完成。  
201  正常;紧接 POST 命令。  
202  正常;已接受用于处理,但处理尚未完成。  
203  正常;部分信息 — 返回的信息只是一部分。  
204  正常;无响应 — 已接收请求,但不存在要回送的信息。  
3xx  重定向  
301  已移动 — 请求的数据具有新的位置且更改是永久的。  
302  已找到 — 请求的数据临时具有不同 URI。  
303  请参阅其它 — 可在另一 URI 下找到对请求的响应,且应使用 GET 方法检索此响应。  
304  未修改 — 未按预期修改文档。  
305  使用代理 — 必须通过位置字段中提供的代理来访问请求的资源。  
306  未使用 — 不再使用;保留此代码以便将来使用。  
4xx  客户机中出现的错误  
400  错误请求 — 请求中有语法问题,或不能满足请求。  
401  未授权 — 未授权客户机访问数据。  
402  需要付款 — 表示计费系统已有效。  
403  禁止 — 即使有授权也不需要访问。  
404  找不到 — 服务器找不到给定的资源;文档不存在。  
407  代理认证请求 — 客户机首先必须使用代理认证自身。  
415  介质类型不受支持 — 服务器拒绝服务请求,因为不支持请求实体的格式。  
5xx  服务器中出现的错误  
500  内部错误 — 因为意外情况,服务器不能完成请求。  
501  未执行 — 服务器不支持请求的工具。  
502  错误网关 — 服务器接收到来自上游服务器的无效响应。  
503  无法获得服务 — 由于临时过载或维护,服务器无法处理请求。
-----------------------------------------------------------------------------------------------------------------------
HTTP 400 - 请求无效 
HTTP 401.1 - 未授权:登录失败 
HTTP 401.2 - 未授权:服务器配置问题导致登录失败 
HTTP 401.3 - ACL 禁止访问资源 
HTTP 401.4 - 未授权:授权被筛选器拒绝 
HTTP 401.5 - 未授权:ISAPI 或 CGI 授权失败  
HTTP 403 - 禁止访问 
HTTP 403 - 对 Internet 服务管理器 (HTML) 的访问仅限于 Localhost 
HTTP 403.1 禁止访问:禁止可执行访问 
HTTP 403.2 - 禁止访问:禁止读访问 
HTTP 403.3 - 禁止访问:禁止写访问 
HTTP 403.4 - 禁止访问:要求 SSL 
HTTP 403.5 - 禁止访问:要求 SSL 128 
HTTP 403.6 - 禁止访问:IP 地址被拒绝 
HTTP 403.7 - 禁止访问:要求客户证书 
HTTP 403.8 - 禁止访问:禁止站点访问 
HTTP 403.9 - 禁止访问:连接的用户过多 
HTTP 403.10 - 禁止访问:配置无效 
HTTP 403.11 - 禁止访问:密码更改 
HTTP 403.12 - 禁止访问:映射器拒绝访问 
HTTP 403.13 - 禁止访问:客户证书已被吊销 
HTTP 403.15 - 禁止访问:客户访问许可过多 
HTTP 403.16 - 禁止访问:客户证书不可信或者无效 
HTTP 403.17 - 禁止访问:客户证书已经到期或者尚未生效 
HTTP 404.1 - 无法找到 Web 站点 
HTTP 404 - 无法找到文件 
HTTP 405 - 资源被禁止 
HTTP 406 - 无法接受 
HTTP 407 - 要求代理身份验证 
HTTP 410 - 永远不可用 
HTTP 412 - 先决条件失败 
HTTP 414 - 请求 - URI 太长 
HTTP 500 - 内部服务器错误 
HTTP 500.100 - 内部服务器错误 - ASP 错误 
HTTP 500-11 服务器关闭 
HTTP 500-12 应用程序重新启动 
HTTP 500-13 - 服务器太忙 
HTTP 500-14 - 应用程序无效 
HTTP 500-15 - 不允许请求 global.asa 
Error 501 - 未实现 
HTTP 502 - 网关错误 

posted @ 2008-07-06 13:29 W.R 阅读(517) | 评论 (0)编辑 收藏

exec sp_addlinkedserver  'link_sql2','','SQLOLEDB','127.0.0.1;
exec sp_addlinkedsrvlogin 'link_sql2','false',null,'sa','sa';

select *from  Table1
insert into [link_sql2].OSS.dbo.Table1 select *from  Table1

posted @ 2008-05-23 10:35 W.R 阅读(337) | 评论 (0)编辑 收藏

Alpha:是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用。

Beta:也是测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。

RC:(Release Candidate) 顾名思义么 ! 用在软件上就是候选版本。系统平台上就是发行候选版本。RC版不会再加入新的功能了,主要着重于除错。

GA:General Availability,正式发布的版本,在国外都是用GA来说明release版本的。

RTM:(Release to Manufacture)是给工厂大量压片的版本,内容跟正式版是一样的,不过RTM版也有出限制、评估版的。但是和正式版本的主要程序代码都是一样的。

OEM:是给计算机厂商随着计算机贩卖的,也就是随机版。只能随机器出货,不能零售。只能全新安装,不能从旧有操作系统升级。包装不像零售版精美,通常只有一面CD和说明书(授权书)。

RVL:号称是正式版,其实RVL根本不是版本的名称。它是中文版/英文版文档破解出来的。

EVAL:而流通在网络上的EVAL版,与“评估版”类似,功能上和零售版没有区别。

RTL:Retail(零售版)是真正的正式版,正式上架零售版。在安装盘的i386文件夹里有一个eula.txt,最后有一行EULAID,就是你的版本。比如简体中文正式版是EULAID:WX.4_PRO_RTL_CN,繁体中文正式版是WX.4_PRO_RTL_TW。其中:如果是WX.开头是正式版,WB.开头是测试版。_PRE,代表家庭版;_PRO,代表专业版。

α、β、λ常用来表示软件测试过程中的三个阶段,α是第一阶段,一般只供内部测试使用;β是第二个阶段,已经消除了软件中大部分的不完善之处,但仍有可能还存在缺陷和漏洞,一般只提供给特定的用户群来测试使用;λ是第三个阶段,此时产品已经相当成熟,只需在个别地方再做进一步的优化处理即可上市发行。

posted @ 2008-05-04 09:46 W.R 阅读(82853) | 评论 (4)编辑 收藏


  尼采常常与哲学家们纠缠—个神秘的“众劫回归”观:想想我们经历过的事情吧,想想它们重演如昨,甚至重演本身无休无止地重演下去!这癫狂的幻念意味着什么?
  从反面说“永劫回归”的幻念表明,曾经一次性消失了的生活,象影子一样没有分量,也就永远消失不复回归了。无论它是否恐依,是否美丽,是否崇高,它的恐怖、崇高以及美丽都预先已经死去,没有任何意义。它象十四世纪非洲部落之间的某次战争,某次未能改变世界命运的战争,哪伯有十万黑人在残酷的磨难中灭绝,我们也无须对此过分在意。
  然而,如果十四世纪的两个非洲部密的战争一次又一次重演,战争本身会有所改变吗?会的,它将变成一个永远隆起的硬块,再也无法归复自己原有的虚空。
  如果法国大革命永无休止地重演,法国历史学家们就不会对罗伯斯庇尔感到那么自豪了。正因为他们涉及的那些事不复回归,于是革命那血的年代只不过变成了文字、理论和研讨而已,变得比鸿毛还轻,吓不了谁。这个在历史上只出现一次的罗伯斯庇尔与那个永劫回归的罗伯斯庇尔绝不相同,后者还会砍下法兰西万颗头颅。
  于是,让我们承认吧,这种永劫回归观隐含有一种视角,它使我们所知的事物看起来是另一回事,看起来失去了事物瞬时性所带来的缓解环境,而这种缓解环境能使我们难于定论。我们怎么能去谴责那些转瞬即逝的事物呢?昭示洞察它们的太阳沉落了,人们只能凭借回想的依稀微光来辩释一切,包括断头台。
  不久前,我察觉自己体验了一种极其难以置信的感觉。我翻阅一本关于希特勒的书,被他的一些照片所触动,从而想起了自己的童年。我成长在战争中,好几位亲人死于希特勒的集中营;我生命中这一段失落的时光已不复回归了。但比较于我对这一段时光的回忆,他们的死算是怎么回事呢?
  对希特勒的仇恨终于淡薄消解,这暴露了一个世界道德上深刻的堕落。这个世界赖以立足的基本点,是回归的不存在。因为在这个世界里,一切都预先被原谅了,一切皆可笑地被允许了。

  如果我们生命的每一秒钟都有无数次的重复,我们就会象耶稣钉于十字架,被钉死在永恒上。这个前景是可怕的。在那永劫回归的世界里,无法承受的责任重荷,沉沉压着我们的每一个行动,这就是尼采说永劫回归观是最沉重的负担的原因吧。
  如果永劫回归是最沉重的负担,那么我们的生活就能以其全部辉煌的轻松,来与之抗衡。
  可是,沉重便真的悲惨,而轻松便真的辉煌吗?
  最沉重的负担压得我们崩塌了,沉没了,将我们钉在地上。可是在每一个时代的爱情诗篇里,女人总渴望压在男人的身躯之下。也许最沉重的负担同时也是一种生活最为充实的象征,负担越沉,我们的生活也就越贴近大地,越趋近真切和实在。
  相反,完全没有负担,人变得比大气还轻,会高高地飞起,离别大地亦即离别真实的生活。他将变得似真非真,运动自由而毫无意义。
  那么我们将选择什么呢?沉重还是轻松?
  巴门尼德于公元前六世纪正是提出了这一问题。她看到世界分成对立的两半:光明、黑暗;优雅、粗俗;温暖、寒冷;存在、非存在。他把其中一半称为积极的(光明;优雅,温暖,存在),另一半自然是消极的。我们可以发现这种积极与消极的两极区分实在幼稚简单,至少有一点难以确定:哪一方是积极?沉重呢?还是轻松?
  巴门尼德回答:轻为积极,重为消极。
  他对吗?这是个疑问。唯一可以确定的是:轻、重的对立最神秘,也最模棱两难。

posted @ 2008-05-02 16:14 W.R 阅读(388) | 评论 (0)编辑 收藏

注明:如果从ANT启动程序,this.getClass().getResource("")取出来的比较怪,直接用JAVA命令行调试就可成功。

得到classpath和当前类的绝对路径的一些方法

获得CLASSPATH之外路径的方法:

URL base = this.getClass().getResource(""); //先获得本类的所在位置,如/home/popeye/testjava/build/classes/net/ String path = new File(base.getFile(), "……/……/……/"+name).getCanonicalPath(); //就可以得到/home/popeye/testjava/name

下面是一些得到classpath和当前类的绝对路径的一些方法。你可能需要使用其中的一些方法来得到你需要的资源的绝对路径。

1.FileTest.class.getResource("")

得到的是当前类FileTest.class文件的URI目录。不包括自己!

如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/com/test/

2.FileTest.class.getResource("/")

得到的是当前的classpath的绝对URI路径。

如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/

3.Thread.currentThread().getContextClassLoader().getResource("")

得到的也是当前ClassPath的绝对URI路径。

如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/

4.FileTest.class.getClassLoader().getResource("")

得到的也是当前ClassPath的绝对URI路径。

如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/

5.ClassLoader.getSystemResource("")

得到的也是当前ClassPath的绝对URI路径。

如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/

我推荐使用Thread.currentThread().getContextClassLoader().getResource("")来得到当前的classpath的绝对路径的URI表示法。

在Web应用程序中,我们一般通过ServletContext.getRealPath("/")方法得到Web应用程序的根目录的绝对路径。这样,我们只需要提供相对于Web应用程序根目录的路径,就可以构建出定位资源的绝对路径。

注意点:

1.尽量不要使用相对于System.getProperty("user.dir")当前用户目录的相对路径。这是一颗定时炸弹,随时可能要你的命。

2.尽量使用URI形式的绝对路径资源。它可以很容易的转变为URI,URL,File对象。

3.尽量使用相对classpath的相对路径。不要使用绝对路径。使用上面ClassLoaderUtil类的public static URL getExtendResource(String relativePath)方法已经能够使用相对于classpath的相对路径定位所有位置的资源。

4.绝对不要使用硬编码的绝对路径。因为,我们完全可以使用ClassLoader类的getResource("")方法得到当前classpath的绝对路径。

使用硬编码的绝对路径是完全没有必要的!它一定会让你死的很难看!程序将无法移植!

如果你一定要指定一个绝对路径,那么使用配置文件,也比硬编码要好得多!

当然,我还是推荐你使用程序得到classpath的绝对路径来拼资源的绝对路径.

posted @ 2008-04-30 15:04 W.R 阅读(3271) | 评论 (1)编辑 收藏