﻿<?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-hyljava-随笔分类-Oracle</title><link>http://www.blogjava.net/hyljava/category/51616.html</link><description /><language>zh-cn</language><lastBuildDate>Sat, 23 Nov 2013 13:38:49 GMT</lastBuildDate><pubDate>Sat, 23 Nov 2013 13:38:49 GMT</pubDate><ttl>60</ttl><item><title>四海兴唐课程辅导平台</title><link>http://www.blogjava.net/hyljava/archive/2013/11/23/406728.html</link><dc:creator>何云隆</dc:creator><author>何云隆</author><pubDate>Sat, 23 Nov 2013 12:52:00 GMT</pubDate><guid>http://www.blogjava.net/hyljava/archive/2013/11/23/406728.html</guid><wfw:comment>http://www.blogjava.net/hyljava/comments/406728.html</wfw:comment><comments>http://www.blogjava.net/hyljava/archive/2013/11/23/406728.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hyljava/comments/commentRss/406728.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hyljava/services/trackbacks/406728.html</trackback:ping><description><![CDATA[<div>四海兴唐课程辅导平台<br /><a href="http://fd.itedu-g.cn/login.php">http://fd.itedu-g.cn/login.php</a></div><img src ="http://www.blogjava.net/hyljava/aggbug/406728.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hyljava/" target="_blank">何云隆</a> 2013-11-23 20:52 <a href="http://www.blogjava.net/hyljava/archive/2013/11/23/406728.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>NavicateForOracle安装过程</title><link>http://www.blogjava.net/hyljava/archive/2013/04/12/397772.html</link><dc:creator>何云隆</dc:creator><author>何云隆</author><pubDate>Fri, 12 Apr 2013 14:06:00 GMT</pubDate><guid>http://www.blogjava.net/hyljava/archive/2013/04/12/397772.html</guid><wfw:comment>http://www.blogjava.net/hyljava/comments/397772.html</wfw:comment><comments>http://www.blogjava.net/hyljava/archive/2013/04/12/397772.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hyljava/comments/commentRss/397772.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hyljava/services/trackbacks/397772.html</trackback:ping><description><![CDATA[<div><h2><span style="font-size: 16pt; font-family: 黑体;">NavicateForOracle安装过程</span></h2><p style="margin-bottom:0pt; margin-top:0pt; "></p><p style="margin-bottom:0pt; margin-top:0pt; "><a href="http://www.navicat.com/"><span style="color: #0000ff; font-size: 10pt; font-family: 宋体;">http://www.navicat.com/</span></a><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">下载</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">Navicate&nbsp;for&nbsp;oracle&nbsp;或者</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><a href="http://www.navicat.com/en/products/navicat_oracle/oracle_overview.html"><span style="color: #800080; font-size: 10pt; font-family: 宋体;">http://www.navicat.com/en/products/navicat_oracle/oracle_overview.html</span></a></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="color: #ff0000; font-size: 10.5pt; font-family: 宋体; background-color: #ffffff; background-position: initial initial; background-repeat: initial initial;">注册信息</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="color: #ff0000; font-size: 10.5pt; font-family: 宋体; background-color: #ffffff; background-position: initial initial; background-repeat: initial initial;">name:www.pc6.com</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="color: #ff0000; font-size: 10.5pt; font-family: 宋体; background-color: #ffffff; background-position: initial initial; background-repeat: initial initial;">organization:www.pc6.com</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="color: #ff0000; font-size: 10.5pt; font-family: 宋体; background-color: #ffffff; background-position: initial initial; background-repeat: initial initial;">key:NAVB-2WQC-4UWV-5XXW</span></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">下载客户端<img src="http://www.blogjava.net/images/blogjava_net/hyljava/图片1.png" alt="" /></span></p><p style="margin-bottom:0pt; margin-top:0pt; "><img src="http://www.blogjava.net/images/blogjava_net/hyljava/图片cccc1.png" width="577" height="24" alt="" /><br /></p><p style="margin-bottom:0pt; margin-top:0pt; "></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">点击安装：</span></p><p style="margin-bottom:0pt; margin-top:0pt; "></p><p style="margin-bottom:0pt; margin-top:0pt; "><img src="http://www.blogjava.net/images/blogjava_net/hyljava/图片ccc2.png" alt="" /><br /><br /></p><p style="margin-bottom:0pt; margin-top:0pt; "><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'宋体'; ">完成后，可能还不能用，但是根据给的连接到网站上指定位置修改即可</span></p></div><img src ="http://www.blogjava.net/hyljava/aggbug/397772.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hyljava/" target="_blank">何云隆</a> 2013-04-12 22:06 <a href="http://www.blogjava.net/hyljava/archive/2013/04/12/397772.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORA-12541:TNS:无监听程序的错误</title><link>http://www.blogjava.net/hyljava/archive/2013/04/12/397771.html</link><dc:creator>何云隆</dc:creator><author>何云隆</author><pubDate>Fri, 12 Apr 2013 13:47:00 GMT</pubDate><guid>http://www.blogjava.net/hyljava/archive/2013/04/12/397771.html</guid><wfw:comment>http://www.blogjava.net/hyljava/comments/397771.html</wfw:comment><comments>http://www.blogjava.net/hyljava/archive/2013/04/12/397771.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hyljava/comments/commentRss/397771.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hyljava/services/trackbacks/397771.html</trackback:ping><description><![CDATA[<div><p style="margin-bottom: 0pt; margin-top: 0pt; text-align: justify; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"></p><div><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-weight: bold; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">ORA-12541:TNS:无监听程序的错误</span><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">,&nbsp;</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><br /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-weight: bold; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">如何启动oracle的监听</span><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">。</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　1.打开Net&nbsp;Configuration&nbsp;Assistant</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img src="http://www.blogjava.net/images/blogjava_net/hyljava/图片1.jpg" width="302" height="291" alt="" /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　2.选择监听程序配置，下一步</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img src="http://www.blogjava.net/images/blogjava_net/hyljava/图片2.jpg" width="600" height="398" alt="" /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　3.选择重新配置，下一步</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt;"><img src="http://www.blogjava.net/images/blogjava_net/hyljava/图片3.jpg" width="598" height="396" alt="" /><br /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　4.选择监听程序，默认，下一步</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img src="http://www.blogjava.net/images/blogjava_net/hyljava/图片4.jpg" width="598" height="398" alt="" /><br /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　注：如果你的监听已启动，则出现提示框，选择是</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt;"><img src="http://www.blogjava.net/images/blogjava_net/hyljava/图片5.jpg" alt="" /><br /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　5.选择协议，使用默认的TCP协议，下一步</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img src="http://www.blogjava.net/images/blogjava_net/hyljava/图片6.jpg" alt="" /><br /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　6.选择端口号，使用标准端口号1521，下一步<br /><img src="http://www.blogjava.net/images/blogjava_net/hyljava/图片7.jpg" width="597" height="397" alt="" /></span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img src="http://www.blogjava.net/images/blogjava_net/hyljava/图片7.jpg" alt="" /><br /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　7.不配置另一个监听程序，选择否，下一步</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img src="http://www.blogjava.net/images/blogjava_net/hyljava/图片8.jpg" width="599" height="397" alt="" /><br /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　8.监听程序配置完成，下一步</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img src="http://www.blogjava.net/images/blogjava_net/hyljava/图片9.jpg" width="601" height="398" alt="" /><br /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style=" color:#ff0000; font-weight:bold; font-size:16.0000pt; font-family:'宋体'; ">到此基本就可以运行了，你重新开启</span><span style=" color:#ff0000; font-weight:bold; font-size:16.0000pt; font-family:'宋体'; ">oracle的服务，测试看能否连上plsql</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　重配服务名，测试连接</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　1.选择Net服务器配置，下一步</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img width="599" height="400" src="file:///C:\Users\hyl\AppData\Local\Temp\ksohtml\wps_clip_image-31280.png"  alt="" /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　2.选择重新配置，下一步</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　3.选择数据库名，下一步</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img width="603" height="398" src="file:///C:\Users\hyl\AppData\Local\Temp\ksohtml\wps_clip_image-3335.png"  alt="" /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　4.填写服务名，也就是你创建数据库时的全数据库名，下一步</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img width="601" height="397" src="file:///C:\Users\hyl\AppData\Local\Temp\ksohtml\wps_clip_image-28488.png"  alt="" /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　5.选择TCP协议，下一步</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img width="602" height="394" src="file:///C:\Users\hyl\AppData\Local\Temp\ksohtml\wps_clip_image-14824.png"  alt="" /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　6.填写主机名(可填写你的IP地址，也可填写你的主机名)，使用标准端口号1521，下一步</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img width="601" height="401" src="file:///C:\Users\hyl\AppData\Local\Temp\ksohtml\wps_clip_image-209.png"  alt="" /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　7.进行测试，下一步</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img width="605" height="399" src="file:///C:\Users\hyl\AppData\Local\Temp\ksohtml\wps_clip_image-1767.png"  alt="" /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　8.选择更改登录</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img width="602" height="399" src="file:///C:\Users\hyl\AppData\Local\Temp\ksohtml\wps_clip_image-13985.png"  alt="" /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　9.填写用户名和口令，确定</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img width="598" height="397" src="file:///C:\Users\hyl\AppData\Local\Temp\ksohtml\wps_clip_image-10804.png"  alt="" /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　10.测试连接成功，下一步</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img width="597" height="402" src="file:///C:\Users\hyl\AppData\Local\Temp\ksohtml\wps_clip_image-11560.png"  alt="" /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　11.网络服务名，默认(和之前的数据库名一样)，下一步</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img width="604" height="400" src="file:///C:\Users\hyl\AppData\Local\Temp\ksohtml\wps_clip_image-6514.png"  alt="" /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　12.不配置另一个Net服务名，选择否，下一步</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img width="602" height="401" src="file:///C:\Users\hyl\AppData\Local\Temp\ksohtml\wps_clip_image-2706.png"  alt="" /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　13.Net服务名配置完毕，下一步，完成</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img width="603" height="398" src="file:///C:\Users\hyl\AppData\Local\Temp\ksohtml\wps_clip_image-5355.png"  alt="" /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　启动PL/SQLDeveloper，输入用户名和口令，登录成功</span></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><img width="375" height="258" src="file:///C:\Users\hyl\AppData\Local\Temp\ksohtml\wps_clip_image-7582.png"  alt="" /></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"></p><p style="margin-bottom: 0pt; margin-top: 0pt; line-height: 21pt; background-position: initial initial; background-repeat: initial initial;"><span style="color: #333333; font-size: 12pt; font-family: 微软雅黑; background-position: initial initial; background-repeat: initial initial;">　　小结：很多错误都有很明显的提示，要根据提示去找相关的解决办法。</span></p><p style="margin-bottom:0pt; margin-top:0pt; "></p></div><p>&nbsp;</p><p style="margin-bottom:0pt; margin-top:0pt; "></p></div><img src ="http://www.blogjava.net/hyljava/aggbug/397771.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hyljava/" target="_blank">何云隆</a> 2013-04-12 21:47 <a href="http://www.blogjava.net/hyljava/archive/2013/04/12/397771.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>升级版JDBC工具类</title><link>http://www.blogjava.net/hyljava/archive/2012/05/31/379691.html</link><dc:creator>何云隆</dc:creator><author>何云隆</author><pubDate>Thu, 31 May 2012 14:07:00 GMT</pubDate><guid>http://www.blogjava.net/hyljava/archive/2012/05/31/379691.html</guid><wfw:comment>http://www.blogjava.net/hyljava/comments/379691.html</wfw:comment><comments>http://www.blogjava.net/hyljava/archive/2012/05/31/379691.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/hyljava/comments/commentRss/379691.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hyljava/services/trackbacks/379691.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<p>import java.sql.Connection;<br />import java.sql.DriverManager;<br />import java.sql.ParameterMetaData;<br />import java.sql.PreparedStatement;<br />import java.sql.ResultSet;<br />import java.sql.ResultSetMetaData;<br />import java.sql.SQLException;<br />import java.sql.Statement;<br />import java.util.HashMap;<br />import java.util.LinkedList;<br />import java.util.List;<br />import java.util.Map;</p>
<p><br />/**<br />&nbsp;* 用户数据库访问的类<br />&nbsp;*@作者Administrator<br />&nbsp;<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#42;&#64;&#99;&#114;&#101;&#97;&#116;&#101;&#84;&#105;&#109;&#101;">*@createTime</a> 2011-12-5 上午11:55:18<br />&nbsp;<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#42;&#64;&#118;&#101;&#114;&#115;&#105;&#111;&#110;">*@version</a> 1.0<br />&nbsp;*/<br />public class DButil1 {</p>
<p>&nbsp;private Connection conn;<br />&nbsp;private Statement st;<br />&nbsp;private PreparedStatement pps;<br />&nbsp;private ResultSet rs;<br />&nbsp;public&nbsp; String url="jdbc:oracle:thin:@localhost:1521:orcl";<br />&nbsp;private String user="hyl";<br />&nbsp;private String password="hyl";<br />&nbsp;<br />&nbsp;//加载驱动、放在静态代码块中，保证驱动在整个项目中只加载一次，提高效率<br />&nbsp;static{<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;Class.forName("oracle.jdbc.driver.OracleDriver");<br />&nbsp;&nbsp;} catch (ClassNotFoundException e) {<br />&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;}<br />&nbsp;}<br />&nbsp;<br />&nbsp;/**<br />&nbsp; * 获取连接的方法<br />&nbsp; * @return Connection 一个有效的数据库连接<br />&nbsp; */<br />&nbsp;public Connection getConnection()<br />&nbsp;{<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;//注意链接时，要换成自己的数据库名，数据库用户名及密码<br />&nbsp;&nbsp;&nbsp;Connection con=DriverManager.getConnection(url,user,password);<br />&nbsp;&nbsp;&nbsp;return con;<br />&nbsp;&nbsp;} catch (SQLException e) {<br />&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return null;<br />&nbsp;}</p>
<p>&nbsp;/**<br />&nbsp; * 用于执行更新的方法,包括（insert delete update）操作<br />&nbsp; * @param sql String 类型的SQL语句<br />&nbsp; * @return Integer 表示受影响的行数<br />&nbsp; */<br />&nbsp;public int update(String sql)<br />&nbsp;{<br />&nbsp;&nbsp;//定义变量用来判断更新操作是否成功，如果返回-1说明没有影响到更新操作的数据库记录条数，即更新操作失败<br />&nbsp;&nbsp;int row=-1;<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;//如果数据库链接被关闭了，就要既得一个新的链接<br />&nbsp;&nbsp;&nbsp;if(conn==null||conn.isClosed()){<br />&nbsp;&nbsp;&nbsp;&nbsp; conn=getConnection();<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;//使用Connection对象conn的createStatement()创建Statement（数据库语句对象）st<br />&nbsp;&nbsp;&nbsp;st=conn.createStatement();<br />&nbsp;&nbsp;&nbsp;//执行更新操作，返回影响的记录条数row<br />&nbsp;&nbsp;&nbsp;row=st.executeUpdate(sql);<br />&nbsp;&nbsp;} catch (SQLException e) {<br />&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;finally{<br />&nbsp;&nbsp;&nbsp;close();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return row;<br />&nbsp;}<br />&nbsp;<br />&nbsp;/**<br />&nbsp; * 基于PreparedStatement的修改方法 PreparedStatement:表示预编译的 SQL 语句的对象<br />&nbsp; * @param sql&nbsp; String 类型的SQL语句（insert delete update）<br />&nbsp; * @param obj 存放动态参数的数组<br />&nbsp; * @return Integer 表示受影响的行数<br />&nbsp; */<br />&nbsp;public int update(String sql,Object ...obj)<br />&nbsp;{<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;//获取链接<br />&nbsp;&nbsp;&nbsp;if(conn==null||conn.isClosed()){<br />&nbsp;&nbsp;&nbsp;&nbsp; conn=getConnection();<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;//创建预编译的 SQL 语句对象<br />&nbsp;&nbsp;&nbsp;pps=conn.prepareStatement(sql);<br />&nbsp;&nbsp;&nbsp;//定义变量length代表数组长度，也就是预处理的sql语句中的参数个数 <br />&nbsp;&nbsp;&nbsp;int length=0;<br />&nbsp;&nbsp;&nbsp;//ParameterMetaData：用于获取关于 PreparedStatement 对象中每个参数的类型和属性信息的对象<br />&nbsp;&nbsp;&nbsp;ParameterMetaData pmd=pps.getParameterMetaData();<br />&nbsp;&nbsp;&nbsp;length=pmd.getParameterCount();<br />&nbsp;&nbsp;&nbsp;//循环将sql语句中的?设置为obj数组中对应的值，注意从1开始，所以i要加1<br />&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;length;i++)<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;pps.setObject(i+1, obj[i]);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;//执行更新操作<br />&nbsp;&nbsp;&nbsp;return pps.executeUpdate();<br />&nbsp;&nbsp;} catch (SQLException e) {<br />&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;}finally{<br />&nbsp;&nbsp;&nbsp;close();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;return -1;<br />&nbsp;}<br />&nbsp;/**<br />&nbsp; * 获取一条记录的方法，要依赖于下面的queryToList方法，注意泛型的使用<br />&nbsp; * @param sql<br />&nbsp; * @return　Map&lt;String,Object&gt;<br />&nbsp; */<br />&nbsp;public Map&lt;String,Object&gt; getOneRow(String sql)<br />&nbsp;{<br />&nbsp;&nbsp;//执行下面的queryToList方法<br />&nbsp;&nbsp;List&lt;Map&lt;String,Object&gt;&gt; list=queryToList(sql);<br />&nbsp;&nbsp;//三目运算，查询结果list不为空返回list中第一个对象,否则返回null<br />&nbsp;&nbsp;return list.size()&gt;0?list.get(0):null;<br />&nbsp;}<br />&nbsp;<br />&nbsp;/**<br />&nbsp; * 返回查询结果列表，形如：[{TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}, {TEST_NAME=bbb, TEST_NO=3, TEST_PWD=bbb}...]<br />&nbsp; * @param sql<br />&nbsp; * @return List&lt;Map&lt;String,Object&gt;&gt;<br />&nbsp; */<br />&nbsp;public List&lt;Map&lt;String,Object&gt;&gt; queryToList(String sql)<br />&nbsp;{<br />&nbsp;&nbsp;//创建集合列表用以保存所有查询到的记录<br />&nbsp;&nbsp;List&lt;Map&lt;String, Object&gt;&gt; list=new LinkedList&lt;Map&lt;String, Object&gt;&gt;();<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;if(conn==null||conn.isClosed()){<br />&nbsp;&nbsp;&nbsp;&nbsp; conn=getConnection();<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;st=conn.createStatement();<br />&nbsp;&nbsp;&nbsp;rs=st.executeQuery(sql);<br />&nbsp;&nbsp;&nbsp;//ResultSetMetaData 是结果集元数据，可获取关于 ResultSet 对象中列的类型和属性信息的对象 例如：结果集中共包括多少列，每列的名称和类型等信息<br />&nbsp;&nbsp;&nbsp;ResultSetMetaData rsmd=rs.getMetaData();<br />&nbsp;&nbsp;&nbsp;//获取结果集中的列数<br />&nbsp;&nbsp;&nbsp;int columncount=rsmd.getColumnCount();<br />&nbsp;&nbsp;&nbsp;//while条件成立表明结果集中存在数据<br />&nbsp;&nbsp;&nbsp;while(rs.next())<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;//创建一个HashMap用于存储一条数据<br />&nbsp;&nbsp;&nbsp;&nbsp;HashMap&lt;String, Object&gt; onerow=new HashMap&lt;String, Object&gt;();<br />&nbsp;&nbsp;&nbsp;&nbsp;//循环获取结果集中的列名及列名所对应的值，每次循环都得到一个对象，形如：{TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}<br />&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;columncount;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//获取指定列的名称，注意orcle中列名的大小写<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String columnName=rsmd.getColumnName(i+1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onerow.put(columnName, rs.getObject(i+1));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;//将获取到的对象onewrow={TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}放到集合列表中<br />&nbsp;&nbsp;&nbsp;&nbsp;list.add(onerow);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}catch (SQLException e) {<br />&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;finally{<br />&nbsp;&nbsp;&nbsp;close();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return list;<br />&nbsp;}<br />&nbsp;/**<br />&nbsp; * 返回查询结果列表,使用的是预编绎SQL 语句对象PreparedStatement<br />&nbsp; * 形如：[{TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}, {TEST_NAME=bbb, TEST_NO=3, TEST_PWD=bbb}]<br />&nbsp; * @param sql<br />&nbsp; * @param paramValues<br />&nbsp; * @return List&lt;Map&lt;String,Object&gt;&gt;<br />&nbsp; */<br />&nbsp;public List&lt;Map&lt;String,Object&gt;&gt; queryWithParam(String sql,Object ...paramValues){<br />&nbsp;&nbsp;//创建集合列表用以保存所有查询到的记录<br />&nbsp;&nbsp;List&lt;Map&lt;String, Object&gt;&gt; list=new LinkedList&lt;Map&lt;String, Object&gt;&gt;();<br />&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;if(conn==null||conn.isClosed()){<br />&nbsp;&nbsp;&nbsp;&nbsp; conn=getConnection();<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;pps = conn.prepareStatement(sql);<br />&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt; paramValues.length; i++) {<br />&nbsp;&nbsp;&nbsp;&nbsp;pps.setObject(i + 1, paramValues[i]);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;rs = pps.executeQuery();<br />&nbsp;&nbsp;&nbsp;//ResultSetMetaData 是结果集元数据，可获取关于 ResultSet 对象中列的类型和属性信息的对象 例如：结果集中共包括多少列，每列的名称和类型等信息<br />&nbsp;&nbsp;&nbsp;ResultSetMetaData rsmd=rs.getMetaData();<br />&nbsp;&nbsp;&nbsp;//获取结果集中的列数<br />&nbsp;&nbsp;&nbsp;int columncount=rsmd.getColumnCount();<br />&nbsp;&nbsp;&nbsp;//while条件成立表明结果集中存在数据<br />&nbsp;&nbsp;&nbsp;while (rs.next()) {<br />&nbsp;&nbsp;&nbsp;&nbsp;//创建一个HashMap用于存储一条数据<br />&nbsp;&nbsp;&nbsp;&nbsp;HashMap&lt;String, Object&gt; onerow=new HashMap&lt;String, Object&gt;();<br />&nbsp;&nbsp;&nbsp;&nbsp;//循环获取结果集中的列名及列名所对应的值，每次循环都得到一个对象，形如：{TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}<br />&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;columncount;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//获取指定列的名称，注意orcle中列名的大小写<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String columnName=rsmd.getColumnName(i+1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onerow.put(columnName, rs.getObject(i+1));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;//将获取到的对象onewrow={TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}放到集合列表中<br />&nbsp;&nbsp;&nbsp;&nbsp;list.add(onerow);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;}catch (SQLException e) {<br />&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;finally{<br />&nbsp;&nbsp;&nbsp;close();<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;return list;<br />&nbsp;}<br />&nbsp;<br />&nbsp;<br />&nbsp;<br />&nbsp;/**<br />&nbsp; * 实现oracle分页功能<br />&nbsp; * @param sql<br />&nbsp; * @param pagesize<br />&nbsp; * @param pagenow<br />&nbsp; * @return PageBean<br />&nbsp; */<br />&nbsp;public PageBean getPage(String sql,int pagesize,int pagenow)<br />&nbsp;{<br />&nbsp;&nbsp;PageBean pb=new PageBean();<br />&nbsp;&nbsp;int end=pagenow*pagesize;<br />&nbsp;&nbsp;int start=end-pagesize+1;<br />&nbsp;&nbsp;String exesql="select a.* from (select t.*,rownum as rowindex from ("+sql+") t where rownum&lt;="+end+" ) a where a.rowindex&gt;="+start;<br />&nbsp;&nbsp;String countsql="select count(*) as rowcount from ("+sql+")";<br />&nbsp;&nbsp;pb.setResult(queryToList(exesql));<br />&nbsp;&nbsp;pb.setPagenow(pagenow);<br />&nbsp;&nbsp;pb.setPagesize(pagesize);<br />&nbsp;&nbsp;Map&lt;String,Object&gt; map=this.getOneRow(countsql);<br />&nbsp;&nbsp;int rows=Integer.parseInt(map.get("ROWCOUNT").toString());<br />&nbsp;&nbsp;pb.setRows(rows);<br />&nbsp;&nbsp;int pages=rows%pagesize==0?rows/pagesize:rows/pagesize+1;<br />&nbsp;&nbsp;pb.setPages(pages);<br />&nbsp;&nbsp;pb.setSql(sql);<br />&nbsp;&nbsp;return pb;<br />&nbsp;}<br />&nbsp;/**<br />&nbsp; * 关闭数据库各种资源Connection Statement PreparedStatement ResultSet的方法<br />&nbsp; */<br />&nbsp;private void close()<br />&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp; if(rs!=null)<br />&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;try {<br />&nbsp;&nbsp;&nbsp;&nbsp;rs.close();<br />&nbsp;&nbsp;&nbsp;} catch (SQLException e) {<br />&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp; if(st!=null)<br />&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;try {<br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;st.close();<br />&nbsp;&nbsp;&nbsp;} catch (SQLException e) {<br />&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp; if(pps!=null){<br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;try {<br />&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;pps.close();<br />&nbsp;&nbsp;&nbsp;} catch (SQLException e) {<br />&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp; try {<br />&nbsp;&nbsp;&nbsp;if(conn!=null&amp;&amp;!conn.isClosed())<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;try {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.close();<br />&nbsp;&nbsp;&nbsp;&nbsp;} catch (SQLException e) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;} catch (SQLException e) {<br />&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;}<br />&nbsp;}<br />&nbsp;<br />}</p><img src ="http://www.blogjava.net/hyljava/aggbug/379691.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hyljava/" target="_blank">何云隆</a> 2012-05-31 22:07 <a href="http://www.blogjava.net/hyljava/archive/2012/05/31/379691.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>T-SQL语句创建触发器</title><link>http://www.blogjava.net/hyljava/archive/2012/05/24/378984.html</link><dc:creator>何云隆</dc:creator><author>何云隆</author><pubDate>Thu, 24 May 2012 00:21:00 GMT</pubDate><guid>http://www.blogjava.net/hyljava/archive/2012/05/24/378984.html</guid><wfw:comment>http://www.blogjava.net/hyljava/comments/378984.html</wfw:comment><comments>http://www.blogjava.net/hyljava/archive/2012/05/24/378984.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/hyljava/comments/commentRss/378984.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hyljava/services/trackbacks/378984.html</trackback:ping><description><![CDATA[触发器<br />是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。 <br /><br /><strong>二: SQL Server为每个触发器都创建了两个专用表:Inserted表和Deleted表。这两个表。</strong> <br /><br />一: 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约`束。 <br /><br />二: SQL Server为每个触发器都创建了两个专用表:Inserted表和Deleted表。这两个表由系统来维护﹐它们存在于内存中而不是在数据库中。这两个表的结构总是与被该触发器作用的表的结构相同。触发器执行 完成后﹐与该触发器相关的这两个表也被删除。 <br />Deleted表存放由于执行Delete或Update语句而要从表中删除的所有行。 <br />Inserted表存放由于执行Insert或Update语句而要向表中插入的所有行。 <br /><strong>三:Instead of 和 After触发器 <br /></strong>SQL Server2000提供了两种触发器:Instead of 和After 触发器。这两种触发器的差别在于他们被激活的同: <br /><br />Instead of触发器用于替代引起触发器执行的T-SQL语句。除表之外﹐Instead of 触发器也可以用于视图﹐用来扩展视图可以支持的更新操作。 <br /><br />After触发器在一个Insert,Update或Deleted语句之后执行﹐进行约束检查等动作都在After触发器被激活之前发生。After触发器只能用于表。 <br /><br />一个表或视图的每一个修改动作(insert,update和delete)都可以有一个instead of 触发器﹐一个表的每个修改动作都可以有多个After触发器。 <br />四:触发器的执行过程 <br />如果一个Insert﹑update或者delete语句违反了约束﹐那幺After触发器不会执行﹐因为对约束的检查是在After触发器被激动之前发生的。所以After触发器不能超越约束。 <br /><br />Instead of 触发器可以取代激发它的操作来执行。它在Inserted表和Deleted表刚刚建立﹐其它任何操作还没有发生时被执行。因为Instead of 触发器在约束之前执行﹐所以它可以对约束进行一些预处理。 <br /><br /><strong>五:使用T-SQL语句来创建触发器</strong> <br /><br />基本语句如下: <br />create trigger trigger_name <br />on {table_name view_name} <br />{for After Instead of } <br />[ insert, update,delete ] <br />as <br />sql_statement <br /><br /><strong>六:删除触发器： <br /></strong><br />基本语句如下: <br /><br />drop trigger trigger_name <br /><br /><strong>七：查看数据库中已有触发器： <br /></strong><br />-- 查看数据库已有触发器 <br />use jxcSoftware <br />go <br />select * from sysobjects where xtype='TR' <br /><br />-- 查看单个触发器 <br />exec sp_helptext '触发器名' <br /><br /><strong>八:修改触发器：</strong> <br /><br />基本语句如下: <br />alter trigger trigger_name <br />on {table_name view_name} <br />{for After Instead of } <br />[ insert, update,delete ] <br />as <br />sql_statement <br /><br /><strong>九:相关示例:</strong> <br />1:在Orders表中建立触发器﹐当向Orders表中插入一条订单记录时﹐检查goods表的货品状态status是否为1(正在整理)﹐是﹐则不能往Orders表加入该订单。 <br />create trigger orderinsert <br />on orders <br />after insert <br />as <br />if (select status from goods,inserted <br />where goods.name=inserted.goodsname)=1 <br />begin <br />print 'the goods is being processed' <br />print 'the order cannot be committed' <br />rollback transaction --回滚﹐避免加入 <br />end <br />2:在Orders表建立一个插入触发器﹐在添加一条订单时﹐减少Goods表相应的货品记录中的库存。 <br />create trigger orderinsert1 <br />on orders <br />after insert <br />as <br />update goods set storage=storage-inserted.quantity <br />from goods,inserted <br />where <br />goods.name=inserted.goodsname <br />3:在Goods表建立删除触发器﹐实现Goods表和Orders表的级联删除。 <br />create trigger goodsdelete <br />on goods <br />after delete <br />as <br />delete from orders <br />where goodsname in <br />(select name from deleted) <br />4:在Orders表建立一个更新触发器﹐监视Orders表的订单日期(OrderDate)列﹐使其不能手工修改. <br />create trigger orderdateupdate <br />on orders <br />after update <br />as <br />if update(orderdate) <br />begin <br />raiserror(' orderdate cannot be modified',10,1) <br />rollback transaction <br />end <br />5:在Orders表建立一个插入触发器﹐保证向Orders表插入的货品名必须要在Goods表中一定存在。 <br />create trigger orderinsert3 <br />on orders <br />after insert <br />as <br />if (select count(*) from goods,inserted where goods.name=inserted.goodsname)=0 <br />begin <br />print ' no entry in goods for this order' <br />rollback transaction <br />end <br /><br />6：Orders表建立一个插入触发器，保证向Orders表插入的货品信息要在Order表中添加 <br /><br />alter trigger addOrder <br />on Orders <br />for insert <br />as <br />insert into Order <br />select inserted.Id, inserted.goodName,inserted.Number from inserted <img src ="http://www.blogjava.net/hyljava/aggbug/378984.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hyljava/" target="_blank">何云隆</a> 2012-05-24 08:21 <a href="http://www.blogjava.net/hyljava/archive/2012/05/24/378984.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle启动（停止）服务脚本</title><link>http://www.blogjava.net/hyljava/archive/2012/05/04/377387.html</link><dc:creator>何云隆</dc:creator><author>何云隆</author><pubDate>Fri, 04 May 2012 07:48:00 GMT</pubDate><guid>http://www.blogjava.net/hyljava/archive/2012/05/04/377387.html</guid><wfw:comment>http://www.blogjava.net/hyljava/comments/377387.html</wfw:comment><comments>http://www.blogjava.net/hyljava/archive/2012/05/04/377387.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hyljava/comments/commentRss/377387.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hyljava/services/trackbacks/377387.html</trackback:ping><description><![CDATA[net start OracleServiceORCL<br />net start OracleOraDb10g_home1TNSListener<br />net start OracleDBConsoleorcl<br /><br />net stop OracleServiceORCL<br />net stop OracleOraDb10g_home1TNSListener<br />net stop OracleDBConsoleorcl<img src ="http://www.blogjava.net/hyljava/aggbug/377387.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hyljava/" target="_blank">何云隆</a> 2012-05-04 15:48 <a href="http://www.blogjava.net/hyljava/archive/2012/05/04/377387.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>