﻿<?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/supercrsky/category/27521.html</link><description>专注于JavaWeb开发</description><language>zh-cn</language><lastBuildDate>Mon, 30 Jul 2012 13:27:00 GMT</lastBuildDate><pubDate>Mon, 30 Jul 2012 13:27:00 GMT</pubDate><ttl>60</ttl><item><title>SQL Server 无法生成 FRunCM 线程。请查看 SQL Server 错误日志和 Windows 事件日志</title><link>http://www.blogjava.net/supercrsky/articles/384283.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Mon, 30 Jul 2012 01:37:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/384283.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/384283.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/384283.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/384283.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/384283.html</trackback:ping><description><![CDATA[<div><span style="font-size: 12pt; ">前言：</span></div><div><span style="font-size: 12pt; ">今天遇到这个sql服务无法启用 。无法登陆 的情况。。在google 百度 搜了一下。发现很多网站都是采集来的数据。。（很奇怪这些采集站都那么靠前！）</span></div><div><span style="font-size: 12pt; ">照着文章里边的方法去试试都不行，，，后来终于找到一个。。记录再下 。 原文转自 ：http://www.networkquestions.org/?p=389 ，感谢一下原作者的辛苦。</span></div><div><span style="font-size: 12pt; ">本地计算机上的MSSQLSERVER服务启动后又停止了。一些服务自动停止，如果它们没有什么可做的，例如&#8220;性能日志和警报&#8221;服务。</span></div><div><span style="font-size: 12pt; ">打开日志查看器开始看日志：</span></div><div><span style="font-size: 12pt; ">SQL Server 无法生成 FRunCM 线程。请查看 SQL Server 错误日志和 Windows 事件日志，获取有关可能发生的相关问题的信息。</span></div><div><span style="font-size: 12pt; ">由于网络库中存在内部错误，所以无法启动网络库。要确定原因，请查看错误日志中紧位于此错误之前的那些错误。</span></div><div><span style="font-size: 12pt; ">TDSSNIClient 初始化失败，出现错误 0x7e，状态代码 0&#215;1。</span></div><div><span style="font-size: 12pt; ">接着查看SQL日志 (MSSQL.1MSSQLLOG)</span></div><div><span style="font-size: 12pt; ">可以判定，可能是以下几个问题：</span></div><div><span style="font-size: 12pt; ">1、IP地址配置不正确：</span></div><div><span style="font-size: 12pt; ">打开 Microsoft SQL Server 2005配置工具下的SQL Server Configuration Manager，选择MSSQLSERVER协议, 然后双击右边窗口的TCP/IP，在弹出窗口中检查IP配置。</span></div><div><span style="font-size: 12pt; ">2、可能是因为VIA协议启用造成的。解决方法如下：</span></div><div><span style="font-size: 12pt; ">另外，管理员密码修改也会造成sqlserver服务无法启动。解决方法如下：</span></div><div><span style="font-size: 12pt; ">打开 Microsoft SQL Server 2005配置工具下的SQL Server Configuration Manager，在MSSQLSERVER服务属性中，修改以哪个账号来启动服务。</span></div><div><span style="font-size: 12pt; ">我机器启动不了服务的原因就是启用了 &#8220;VIA&#8221;服务，禁用后，OK了。</span></div><img src ="http://www.blogjava.net/supercrsky/aggbug/384283.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2012-07-30 09:37 <a href="http://www.blogjava.net/supercrsky/articles/384283.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring mongodb 之简单CRUD</title><link>http://www.blogjava.net/supercrsky/articles/382858.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Thu, 12 Jul 2012 02:42:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/382858.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/382858.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/382858.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/382858.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/382858.html</trackback:ping><description><![CDATA[官方文档参考:<a href="http://www.mkyong.com/mongodb/">http://www.mkyong.com/mongodb/</a>&nbsp;&nbsp;<br />用MyEclipse添加maven-Project工程，在这之前你可能需要配置你的m2eclipse<br />1.将maven配置成你自己安装的版本。<br /><img src="http://www.blogjava.net/images/blogjava_net/supercrsky/maven1.png" width="617" height="586" alt="" /><br /><br />2.设置User Settings<br />当然也可以修改仓库默认目录，打maven安装目录conf/setting.xml<br />在&lt;settings&gt;节点里<br />添加：&lt;localRepository&gt;d:/myrepository&lt;/localRepository&gt;即可<br /><img src="http://www.blogjava.net/images/blogjava_net/supercrsky/maven2.png" width="676" height="646" alt="" /><br /><br />pom.xml<br /><span style="font-size: 13px; background-color: #eeeeee; color: #0000ff; "><br /></span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">project&nbsp;</span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">="http://maven.apache.org/POM/4.0.0"</span><span style="color: #FF0000; ">&nbsp;xmlns:xsi</span><span style="color: #0000FF; ">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="color: #FF0000; ">&nbsp;xsi:schemaLocation</span><span style="color: #0000FF; ">="http://maven.apache.org/POM/4.0.0&nbsp;http://maven.apache.org/xsd/maven-4.0.0.xsd"</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">modelVersion</span><span style="color: #0000FF; ">&gt;</span>4.0.0<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">modelVersion</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span>com.test<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span>mongodb<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span>0.0.1-SNAPSHOT<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>springmongodb<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">description</span><span style="color: #0000FF; ">&gt;</span>This&nbsp;is&nbsp;test&nbsp;case<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">description</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">build</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">plugins</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">plugin</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span>maven-compiler-plugin<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">configuration</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">source</span><span style="color: #0000FF; ">&gt;</span>1.6<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">source</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">target</span><span style="color: #0000FF; ">&gt;</span>1.6<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">target</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">configuration</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">plugin</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">plugins</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">build</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">repositories</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">repository</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">id</span><span style="color: #0000FF; ">&gt;</span>spring-milestone<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">id</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span>Spring&nbsp;Maven&nbsp;MILESTONE&nbsp;Repository<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">url</span><span style="color: #0000FF; ">&gt;</span>http://maven.springframework.org/milestone<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">url</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">repository</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">repositories</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">dependencies</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">dependency</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span>junit<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span>junit<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span>4.8.2<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">scope</span><span style="color: #0000FF; ">&gt;</span>test<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">scope</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">dependency</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;Spring&nbsp;framework&nbsp;</span><span style="color: #008000; ">--&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">dependency</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span>org.springframework<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span>spring-core<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span>3.0.5.RELEASE<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">dependency</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">dependency</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span>org.springframework<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span>spring-context<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span>3.0.5.RELEASE<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">dependency</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;mongodb&nbsp;java&nbsp;driver&nbsp;</span><span style="color: #008000; ">--&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">dependency</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span>org.mongodb<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span>mongo-java-driver<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span>2.5.2<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">dependency</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">dependency</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span>org.springframework.data<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span>spring-data-mongodb<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span>1.0.0.M2<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">dependency</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">dependency</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span>cglib<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span>cglib<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span>2.2<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">dependency</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">dependencies</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">project</span><span style="color: #0000FF; ">&gt;</span></div>写完pom.xml后，执行 项目-右键-run-maven install&nbsp;<br />下载完jar包，Test 成功后，就可以写代码了。<br />SpringMongoConfig.java<br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; border-image: initial; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span>&nbsp;com.config;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;org.springframework.context.annotation.Bean;<br /><span style="color: #0000FF; ">import</span>&nbsp;org.springframework.data.document.mongodb.MongoTemplate;<br /><span style="color: #0000FF; ">import</span>&nbsp;org.springframework.data.document.mongodb.config.AbstractMongoConfiguration;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;com.mongodb.Mongo;<br /><br /><span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;SpringMongoConfig&nbsp;<span style="color: #0000FF; ">extends</span>&nbsp;AbstractMongoConfiguration<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">主机</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;Mongo&nbsp;mongo()&nbsp;<span style="color: #0000FF; ">throws</span>&nbsp;Exception&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;Mongo("localhost");<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">数据库</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;@Bean&nbsp;MongoTemplate&nbsp;mongoTemplate()&nbsp;<span style="color: #0000FF; ">throws</span>&nbsp;Exception&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;MongoTemplate(mongo(),&nbsp;"test");<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}</div>实体类:<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span>&nbsp;entity;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;java.util.List;<br /><br /><span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;User<br />{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;String&nbsp;id;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;String&nbsp;username;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;String&nbsp;password;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">文档中的集合</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;List&lt;String&gt;&nbsp;position;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;要有声明默认的构造方法，不然查询的时候会报错(无法实例化)</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;User()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;String&nbsp;getId()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;id;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;setId(String&nbsp;id)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.id&nbsp;=&nbsp;id;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;String&nbsp;getUsername()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;username;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;setUsername(String&nbsp;username)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.username&nbsp;=&nbsp;username;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;String&nbsp;getPassword()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;password;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;setPassword(String&nbsp;password)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.password&nbsp;=&nbsp;password;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;List&lt;String&gt;&nbsp;getPosition()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;position;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;setPosition(List&lt;String&gt;&nbsp;position)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.position&nbsp;=&nbsp;position;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;User(String&nbsp;id,&nbsp;String&nbsp;username,&nbsp;String&nbsp;password,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&lt;String&gt;&nbsp;position)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">super</span>();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.id&nbsp;=&nbsp;id;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.username&nbsp;=&nbsp;username;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.password&nbsp;=&nbsp;password;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.position&nbsp;=&nbsp;position;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;User(String&nbsp;username,&nbsp;String&nbsp;password,&nbsp;List&lt;String&gt;&nbsp;position)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">super</span>();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.username&nbsp;=&nbsp;username;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.password&nbsp;=&nbsp;password;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">this</span>.position&nbsp;=&nbsp;position;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}</div>测试类:<br /><div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; border-image: initial; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; "><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span>&nbsp;run;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;java.util.ArrayList;<br /><span style="color: #0000FF; ">import</span>&nbsp;java.util.Iterator;<br /><span style="color: #0000FF; ">import</span>&nbsp;java.util.List;<br /><span style="color: #0000FF; ">import</span>&nbsp;java.util.Set;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;org.junit.Test;<br /><span style="color: #0000FF; ">import</span>&nbsp;org.springframework.context.ApplicationContext;<br /><span style="color: #0000FF; ">import</span>&nbsp;org.springframework.context.annotation.AnnotationConfigApplicationContext;<br /><span style="color: #0000FF; ">import</span>&nbsp;org.springframework.data.document.mongodb.MongoOperations;<br /><span style="color: #0000FF; ">import</span>&nbsp;org.springframework.data.document.mongodb.query.Criteria;<br /><span style="color: #0000FF; ">import</span>&nbsp;org.springframework.data.document.mongodb.query.Query;<br /><span style="color: #0000FF; ">import</span>&nbsp;org.springframework.data.document.mongodb.query.Update;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;com.config.SpringMongoConfig;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;entity.User;<br /><br /><span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;App<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;ApplicationContext&nbsp;ctx&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;AnnotationConfigApplicationContext(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SpringMongoConfig.<span style="color: #0000FF; ">class</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;MongoOperations&nbsp;mongoOperations&nbsp;=&nbsp;(MongoOperations)&nbsp;ctx<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getBean("mongoTemplate");<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;@Test<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;testSave()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&lt;String&gt;&nbsp;list&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;ArrayList&lt;String&gt;();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=0;&nbsp;i&nbsp;&lt;&nbsp;100;&nbsp;i&nbsp;++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add("开发"&nbsp;+&nbsp;i);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add("经理"&nbsp;+&nbsp;i);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;User&nbsp;user&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;User("John"&nbsp;+&nbsp;i,"123"&nbsp;+&nbsp;i,list);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">第一个参数：要保存的表名，默认为实例名user同名的集合(表)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">如果表不存在会自动创建,&nbsp;表名user为关键字不要使用</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mongoOperations.save("userinfo",&nbsp;user);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.clear();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;@Test<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;testUpdate()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mongoOperations.updateFirst("userinfo",<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;Query(Criteria.where("username").is("John0")),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Update.update("password",&nbsp;"newpassword"));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;@Test<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;testDelete()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mongoOperations.remove("userinfo",<span style="color: #0000FF; ">new</span>&nbsp;Query(Criteria.where("id").is("4ffe3486b41f8ed41269a729")),User.<span style="color: #0000FF; ">class</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;@Test<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;testQuery()<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">输出所有表名</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&lt;String&gt;&nbsp;set&nbsp;=&nbsp;mongoOperations.getCollectionNames();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Iterator&lt;String&gt;&nbsp;it&nbsp;=&nbsp;&nbsp;set.iterator();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>(it.hasNext())<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(it.next());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">user:要查询的表名</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&lt;User&gt;&nbsp;users&nbsp;=&nbsp;mongoOperations.getCollection("userinfo",&nbsp;User.<span style="color: #0000FF; ">class</span>);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(users.size());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(User&nbsp;u&nbsp;:&nbsp;users)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(u.getId());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}</div><br /><a href="http://115.com/file/e7xdmelo#springmongodb.rar" title="源码下载">源码下载</a><img src ="http://www.blogjava.net/supercrsky/aggbug/382858.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2012-07-12 10:42 <a href="http://www.blogjava.net/supercrsky/articles/382858.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mongodb之java CRUD 简单操作</title><link>http://www.blogjava.net/supercrsky/articles/382510.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Sun, 08 Jul 2012 02:25:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/382510.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/382510.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/382510.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/382510.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/382510.html</trackback:ping><description><![CDATA[驱动包下载：https://github.com/mongodb/mongo-java-driver/downloads<br />我下载的是&nbsp;<a href="https://github.com/downloads/mongodb/mongo-java-driver/mongo-2.8.0.jar" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-image: initial; color: #4183c4; text-decoration: none; ">mongo-2.8.0.jar</a>&nbsp;&#8212; Version 2.8.0<br />打开mongo shell -- 新建数据库test --( use test)<br />打开eclipse新建工程，把junit,mongo-2.8.0.jar导入。<br />新建测试类如下：<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span>&nbsp;com.db;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;java.net.UnknownHostException;<br /><span style="color: #0000FF; ">import</span>&nbsp;java.util.ArrayList;<br /><span style="color: #0000FF; ">import</span>&nbsp;java.util.List;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;org.bson.types.ObjectId;<br /><span style="color: #0000FF; ">import</span>&nbsp;org.junit.After;<br /><span style="color: #0000FF; ">import</span>&nbsp;org.junit.Test;<br /><br /><span style="color: #0000FF; ">import</span>&nbsp;com.mongodb.BasicDBObject;<br /><span style="color: #0000FF; ">import</span>&nbsp;com.mongodb.DB;<br /><span style="color: #0000FF; ">import</span>&nbsp;com.mongodb.DBCollection;<br /><span style="color: #0000FF; ">import</span>&nbsp;com.mongodb.DBCursor;<br /><span style="color: #0000FF; ">import</span>&nbsp;com.mongodb.DBObject;<br /><span style="color: #0000FF; ">import</span>&nbsp;com.mongodb.Mongo;<br /><span style="color: #0000FF; ">import</span>&nbsp;com.mongodb.MongoException;<br /><br /><span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">class</span>&nbsp;DBUtils&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;<span style="color: #0000FF; ">static</span>&nbsp;Mongo&nbsp;mongo;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">private</span>&nbsp;<span style="color: #0000FF; ">static</span>&nbsp;DB&nbsp;db;<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">static</span>&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">try</span>&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mongo&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;Mongo("localhost",&nbsp;27017);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000FF; ">catch</span>&nbsp;(UnknownHostException&nbsp;e)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000FF; ">catch</span>&nbsp;(MongoException&nbsp;e)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db&nbsp;=&nbsp;mongo.getDB("test");<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;@After<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;output()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;测试完显示所有</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBCollection&nbsp;dbc&nbsp;=&nbsp;db.getCollection("user");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBCursor&nbsp;cursor&nbsp;=&nbsp;dbc.find();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;(cursor.hasNext())&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;cursor.next就是一行记录(一个文档)</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(cursor.next());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;@Test<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;testInsert()&nbsp;<span style="color: #0000FF; ">throws</span>&nbsp;Exception&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBCollection&nbsp;dbc&nbsp;=&nbsp;db.getCollection("user");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBObject&nbsp;object&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;BasicDBObject();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;object.put("username",&nbsp;"zdw");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;object.put("password",&nbsp;"123");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;一个人有一个职位<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;数据库json格式：{username:"zdw",password:"123",position:{name:"工程师"}}</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BasicDBObject&nbsp;o&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;BasicDBObject();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o.put("name",&nbsp;"经理");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;object.put("position",&nbsp;o);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dbc.insert(object);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;object&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;BasicDBObject();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;object.put("username",&nbsp;"zhangjun");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;object.put("password",&nbsp;"456");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;一个人有多个职位(一个文档里有多个文档)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;数据库json格式：{username:"zhangjun",password:"456",position:[{name:"工程师"},{name:"设计师"}]}</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&lt;Object&gt;&nbsp;list&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;ArrayList&lt;Object&gt;();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;BasicDBObject();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o.put("name",&nbsp;"工程师");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(o);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;BasicDBObject();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o.put("name",&nbsp;"设计师");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(o);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;object.put("position",&nbsp;list);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dbc.insert(object);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;删除指定</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;@Test<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;testRemoveOne()&nbsp;<span style="color: #0000FF; ">throws</span>&nbsp;Exception&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBCollection&nbsp;dbc&nbsp;=&nbsp;db.getCollection("user");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBObject&nbsp;o&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;BasicDBObject();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o.put("username",&nbsp;"zhangjun");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dbc.remove(o);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;@Test<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;testModify()&nbsp;<span style="color: #0000FF; ">throws</span>&nbsp;Exception&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBCollection&nbsp;dbc&nbsp;=&nbsp;db.getCollection("user");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;根据id修改密码,需要加$set,否则所有记录的password都会被修改，其它字段删除。</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;result&nbsp;=&nbsp;dbc.update(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;BasicDBObject("_id",&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;ObjectId(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"4ff8eaa65dbc67340278a07c")),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;BasicDBObject("$set",&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;BasicDBObject("password",<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"4444"))).getN();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(result);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;@Test<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;testRemove()&nbsp;<span style="color: #0000FF; ">throws</span>&nbsp;Exception&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBCollection&nbsp;dbc&nbsp;=&nbsp;db.getCollection("user");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;删除全部</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dbc.drop();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;查询指定</span><span style="color: #008000; "><br /></span>&nbsp;&nbsp;&nbsp;&nbsp;@Test<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;testFindOne()&nbsp;<span style="color: #0000FF; ">throws</span>&nbsp;Exception&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBCollection&nbsp;dbc&nbsp;=&nbsp;db.getCollection("user");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBObject&nbsp;o&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;BasicDBObject();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o.put("username",&nbsp;"zdw");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBObject&nbsp;obj&nbsp;=&nbsp;dbc.findOne(o);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(obj);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}</div><br />这种key-value存储方式，操作很方便。<br /><a href="http://115.com/file/bevvc8fx#mongocrud.rar" title="源码下载">源码下载</a><br /><img src ="http://www.blogjava.net/supercrsky/aggbug/382510.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2012-07-08 10:25 <a href="http://www.blogjava.net/supercrsky/articles/382510.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mongodb  非正常退出第二次无法正常启动的问题解决</title><link>http://www.blogjava.net/supercrsky/articles/382342.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Fri, 06 Jul 2012 02:50:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/382342.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/382342.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/382342.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/382342.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/382342.html</trackback:ping><description><![CDATA[<p style="line-height: normal; color: #333333; font-family: Arial; background-color: #ffffff; ">如果上次非正常关闭了mongodb服务，再次启动时会出现</p><p style="line-height: normal; color: #333333; font-family: Arial; background-color: #ffffff; "><img src="http://www.blogjava.net/images/blogjava_net/supercrsky/f5a15bceecbd1369f9dc6108.jpg" width="941" height="372" alt="" /><br /><br />
这时找到你的mongodb数据存储目录(用mongodb -dbpath d:/data/db/ 命令指定的目录，不指定默认是c:/data/db)，删掉mongod.lock文件。<br /><br />再用mongod命令启动即可。</p><img src ="http://www.blogjava.net/supercrsky/aggbug/382342.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2012-07-06 10:50 <a href="http://www.blogjava.net/supercrsky/articles/382342.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle 常用语法练习</title><link>http://www.blogjava.net/supercrsky/articles/264470.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Wed, 08 Apr 2009 08:38:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/264470.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/264470.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/264470.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/264470.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/264470.html</trackback:ping><description><![CDATA[用的是自带的emp,salgrade,dept表,Oracle11G下测试通过。<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">1.列出所有员工及直接上级的姓名</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;e.ename,nvl(m.ename,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">无</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;e,emp&nbsp;m<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.mgr&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;m.empno(</span><span style="color: #808080">+</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">2.列出受雇日期早于其直接上级的所有员工的编号,姓名,部门名称</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;e.empno,e.ename,d.dname<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;e,emp&nbsp;m,dept&nbsp;d<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.mgr&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;m.empno(</span><span style="color: #808080">+</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;e.deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;d.deptno&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;e.HIREDATE&nbsp;</span><span style="color: #808080">&lt;</span><span style="color: #000000">&nbsp;m.hiredate;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">3.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门.</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;d.dname,nvl(e.ename,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">无</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;e,dept&nbsp;d<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.deptno(</span><span style="color: #808080">+</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;d.deptno;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">4.列出至少有一个员工的所有部门</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;d.dname,</span><span style="color: #ff00ff">count</span><span style="color: #000000">(e.empno)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;e,dept&nbsp;d<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;d.deptno&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;d.dname&nbsp;</span><span style="color: #0000ff">having</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">count</span><span style="color: #000000">(e.empno)&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">5.列出薪金比"SMITH"多的所有员工信息.</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;sal&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;sal&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;ename&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">SMITH</span><span style="color: #ff0000">'</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">6.列出所有"CLERK"(办事员)的姓名及其部门名称,部门的人数.</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;e.ename,d.dname,ed.cc<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;e,dept&nbsp;d,(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;deptno,</span><span style="color: #ff00ff">count</span><span style="color: #000000">(empno)&nbsp;cc&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;deptno)&nbsp;ed<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;d.deptno&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;d.deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;ed.deptno&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;e.job&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">CLERK</span><span style="color: #ff0000">'</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;&nbsp;JOB&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">CLERK</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">7.列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数.</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;e.job,</span><span style="color: #ff00ff">count</span><span style="color: #000000">(e.empno)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;e&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.job&nbsp;</span><span style="color: #808080">in</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;job<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;job&nbsp;</span><span style="color: #0000ff">having</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">min</span><span style="color: #000000">(sal)</span><span style="color: #808080">&gt;</span><span style="font-weight: bold; color: #800000">1500</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;e.job;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">8.列出在部门"SALES"&lt;销售部&gt;工作的员工的姓名,假定不知道销售部的部门编号.</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;ename&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;deptno&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dept&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;dname&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">SALES</span><span style="color: #ff0000">'</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">9.列出薪金高于公司平均薪金的所有员工,所在部门,上级领导,雇员的工资等级.</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;ename&nbsp;姓名,d.dname&nbsp;部门名称,nvl((</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;m.ename&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;m&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.mgr&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;m.empno),</span><span style="color: #ff0000">'</span><span style="color: #ff0000">无</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;上级领导,<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;grade&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;salgrade&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.sal&nbsp;</span><span style="color: #808080">between</span><span style="color: #000000">&nbsp;losal&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;hisal)&nbsp;工资等级&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;e,dept&nbsp;d<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;d.deptno&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;e.sal&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">avg</span><span style="color: #000000">(sal)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">或</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;e.ename&nbsp;姓名,d.dname&nbsp;部门名称,nvl(m.ename,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">无</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;上级领导,s.grade&nbsp;工资等级<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;e,dept&nbsp;d,emp&nbsp;m,salgrade&nbsp;s<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;d.deptno&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;e.sal&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">avg</span><span style="color: #000000">(sal)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp)&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;e.deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;d.deptno&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;e.mgr&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;m.empno(</span><span style="color: #808080">+</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;e.sal&nbsp;</span><span style="color: #808080">between</span><span style="color: #000000">&nbsp;losal&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;hisal;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">10.列出与"SCOTT"从事相同工作的所有员工及部门名称.</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;e.ename,d.dname&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;e,dept&nbsp;d<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;d.deptno&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;e.job&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;job&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;ename&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">SCOTT</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;e.ename&nbsp;</span><span style="color: #808080">&lt;&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">SCOTT</span><span style="color: #ff0000">'</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">11.列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金.</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;ename,sal&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;sal&nbsp;</span><span style="color: #808080">in</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;sal&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">30</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;deptno&nbsp;</span><span style="color: #808080">&lt;&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">30</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">12.列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金.部门名称.</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;e.ename,e.sal,d.dname&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;e,dept&nbsp;d<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;d.deptno&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;e.sal&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;sal&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">30</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;e.deptno&nbsp;</span><span style="color: #808080">&lt;&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">30</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">13.列出在每个部门工作的员工数量,平均工资和平均服务期限.</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;d.dname&nbsp;部门名称,ed.c&nbsp;员工数量,</span><span style="color: #ff00ff">round</span><span style="color: #000000">(ed.a,</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)&nbsp;平均工资,</span><span style="color: #ff00ff">round</span><span style="color: #000000">(ed.h,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">)&nbsp;服务期限<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dept&nbsp;d<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />,(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;deptno,</span><span style="color: #ff00ff">count</span><span style="color: #000000">(empno)&nbsp;c,</span><span style="color: #ff00ff">avg</span><span style="color: #000000">(sal)&nbsp;a,</span><span style="color: #ff00ff">avg</span><span style="color: #000000">(months_between(sysdate,hiredate)</span><span style="color: #808080">/</span><span style="font-weight: bold; color: #800000">12</span><span style="color: #000000">)&nbsp;h&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;deptno)&nbsp;ed<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;d.deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;ed.deptno;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">或</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;d.dname&nbsp;部门名称,</span><span style="color: #ff00ff">count</span><span style="color: #000000">(e.empno)&nbsp;员工数量,</span><span style="color: #ff00ff">round</span><span style="color: #000000">(</span><span style="color: #ff00ff">avg</span><span style="color: #000000">(e.sal),</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)&nbsp;平均工资,</span><span style="color: #ff00ff">round</span><span style="color: #000000">(</span><span style="color: #ff00ff">avg</span><span style="color: #000000">(months_between(sysdate,hiredate)</span><span style="color: #808080">/</span><span style="font-weight: bold; color: #800000">12</span><span style="color: #000000">),</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">)&nbsp;服务期限<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;e,dept&nbsp;d<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;d.deptno&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;d.dname;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">14.列出所有员工的姓名、部门名称和工资。</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;e.ename,d.dname,e.sal<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;e,dept&nbsp;d<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;d.deptno;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">15.列出所有部门的详细信息和人数</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;d.</span><span style="color: #808080">*</span><span style="color: #000000">,(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">count</span><span style="color: #000000">(e.empno)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;e&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;d.deptno)&nbsp;人数<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dept&nbsp;d;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">或</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;d.</span><span style="color: #808080">*</span><span style="color: #000000">,nvl(ed.c,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">)&nbsp;人数<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dept&nbsp;d,(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;deptno,</span><span style="color: #ff00ff">count</span><span style="color: #000000">(empno)&nbsp;c&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;deptno)&nbsp;ed<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;d.deptno&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;ed.deptno(</span><span style="color: #808080">+</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">16.列出各种工作的最低工资及从事此工作的雇员姓名</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;sal&nbsp;</span><span style="color: #808080">in</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">min</span><span style="color: #000000">(sal)&nbsp;sal&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;job)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">17.列出各个部门的MANAGER(经理)的最低薪金</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;deptno,</span><span style="color: #ff00ff">min</span><span style="color: #000000">(sal)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;job&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">MANAGER</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;deptno;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">18.列出所有员工的年工资,按年薪从低到高排序</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;ename,&nbsp;(sal&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;nvl(comm,</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">))&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">12</span><span style="color: #000000">&nbsp;income&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">order</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;income;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">19.查出某个员工的上级主管，并要求出这些主管中的薪水超过3000.</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">distinct</span><span style="color: #000000">&nbsp;m.ename&nbsp;主管,&nbsp;m.sal&nbsp;主管工资<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;e,emp&nbsp;m<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.mgr&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;m.empno&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;m.sal&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">3000</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">20.求出部门名称中,带'S'字符的部门员工的工资合计、部门人数.</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;d.dname&nbsp;部门,</span><span style="color: #ff00ff">count</span><span style="color: #000000">(e.sal)&nbsp;工资合计,</span><span style="color: #ff00ff">count</span><span style="color: #000000">(e.empno)&nbsp;部门人数<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;emp&nbsp;e,dept&nbsp;d<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;e.deptno(</span><span style="color: #808080">+</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;d.deptno&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;d.dname&nbsp;</span><span style="color: #808080">like</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">%S%</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;d.dname;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">21.给任职日期超过10年的员工加薪10%.</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">update</span><span style="color: #000000">&nbsp;emp&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;sal&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;sal&nbsp;</span><span style="color: #808080">+</span><span style="color: #000000">&nbsp;sal&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0.1</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;(months_between(sysdate,hiredate)</span><span style="color: #808080">/</span><span style="font-weight: bold; color: #800000">12</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<img src ="http://www.blogjava.net/supercrsky/aggbug/264470.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2009-04-08 16:38 <a href="http://www.blogjava.net/supercrsky/articles/264470.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL分割字符串详解</title><link>http://www.blogjava.net/supercrsky/articles/260998.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Fri, 20 Mar 2009 03:29:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/260998.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/260998.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/260998.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/260998.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/260998.html</trackback:ping><description><![CDATA[<strong>T-SQL对字符串的处理能力比较弱，比如我要循环遍历象1,2,3,4,5这样的字符串，如果用数组的话，遍历很简单，但是T-SQL不支持数组，所以处理下来比较麻烦。下边的函数，实现了象数组一样去处理字符串。<br />
一,用临时表作为数组。</strong><br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;f_split(</span><span style="color: #008000">@c</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">2000</span><span style="color: #000000">),</span><span style="color: #008000">@split</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">))&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">returns</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">@t</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">(col&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">20</span><span style="color: #000000">))&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">as</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">begin</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">(</span><span style="color: #ff00ff">charindex</span><span style="color: #000000">(</span><span style="color: #008000">@split</span><span style="color: #000000">,</span><span style="color: #008000">@c</span><span style="color: #000000">)</span><span style="color: #808080">&lt;&gt;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">begin</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">@t</span><span style="color: #000000">(col)&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;(</span><span style="color: #ff00ff">substring</span><span style="color: #000000">(</span><span style="color: #008000">@c</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="color: #ff00ff">charindex</span><span style="color: #000000">(</span><span style="color: #008000">@split</span><span style="color: #000000">,</span><span style="color: #008000">@c</span><span style="color: #000000">)</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">))&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">@c</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #ff00ff">stuff</span><span style="color: #000000">(</span><span style="color: #008000">@c</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="color: #ff00ff">charindex</span><span style="color: #000000">(</span><span style="color: #008000">@split</span><span style="color: #000000">,</span><span style="color: #008000">@c</span><span style="color: #000000">),</span><span style="color: #ff0000">''</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">end</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">@t</span><span style="color: #000000">(col)&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;(</span><span style="color: #008000">@c</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">end</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">go</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;dbo.f_split(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">dfkd,dfdkdf,dfdkf,dffjk</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">drop</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;f_split&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />col&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">------------------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">dfkd&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />dfdkdf&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />dfdkf&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />dffjk&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<br />
&nbsp;&nbsp;&nbsp; <br />
（所影响的行数为&nbsp;&nbsp; 4&nbsp;&nbsp; 行） <br />
&nbsp;<br />
<strong>二、按指定符号分割字符串，返回分割后的元素个数，方法很简单，就是看字符串中存在多少个分隔符号，然后再加一，就是要求的结果。<br />
</strong><br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">CREATE</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;Get_StrArrayLength<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />(<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008000">@str</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1024</span><span style="color: #000000">),&nbsp;</span><span style="color: #008080">--</span><span style="color: #008080">要分割的字符串</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008000">@split</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #000000">)&nbsp;</span><span style="color: #008080">--</span><span style="color: #008080">分隔符号</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">returns</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">as</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">begin</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">declare</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@location</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">declare</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@start</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">declare</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@length</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@str</span><span style="color: #808080">=</span><span style="color: #ff00ff">ltrim</span><span style="color: #000000">(</span><span style="color: #ff00ff">rtrim</span><span style="color: #000000">(</span><span style="color: #008000">@str</span><span style="color: #000000">))<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@location</span><span style="color: #808080">=</span><span style="color: #ff00ff">charindex</span><span style="color: #000000">(</span><span style="color: #008000">@split</span><span style="color: #000000">,</span><span style="color: #008000">@str</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@length</span><span style="color: #808080">=</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@location</span><span style="color: #808080">&lt;&gt;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">begin</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@start</span><span style="color: #808080">=</span><span style="color: #008000">@location</span><span style="color: #808080">+</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@location</span><span style="color: #808080">=</span><span style="color: #ff00ff">charindex</span><span style="color: #000000">(</span><span style="color: #008000">@split</span><span style="color: #000000">,</span><span style="color: #008000">@str</span><span style="color: #000000">,</span><span style="color: #008000">@start</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@length</span><span style="color: #808080">=</span><span style="color: #008000">@length</span><span style="color: #808080">+</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">end</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@length</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">end</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<br />
调用示例：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;dbo.Get_StrArrayLength(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">78,1,2,3</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'</span><span style="color: #000000">)</span></div>
<br />
返回值：4<br />
&nbsp;<br />
<strong>三、按指定符号分割字符串，返回分割后指定索引的第几个元素，象数组一样方便</strong><br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">CREATE</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;Get_StrArrayStrOfIndex<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />(<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008000">@str</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1024</span><span style="color: #000000">),&nbsp;</span><span style="color: #008080">--</span><span style="color: #008080">要分割的字符串</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008000">@split</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #000000">),&nbsp;</span><span style="color: #008080">--</span><span style="color: #008080">分隔符号</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008000">@index</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">&nbsp;</span><span style="color: #008080">--</span><span style="color: #008080">取第几个元素</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">returns</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1024</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">as</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">begin</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">declare</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@location</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">declare</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@start</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">declare</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@next</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">declare</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@seed</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@str</span><span style="color: #808080">=</span><span style="color: #ff00ff">ltrim</span><span style="color: #000000">(</span><span style="color: #ff00ff">rtrim</span><span style="color: #000000">(</span><span style="color: #008000">@str</span><span style="color: #000000">))<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@start</span><span style="color: #808080">=</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@next</span><span style="color: #808080">=</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@seed</span><span style="color: #808080">=</span><span style="color: #ff00ff">len</span><span style="color: #000000">(</span><span style="color: #008000">@split</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@location</span><span style="color: #808080">=</span><span style="color: #ff00ff">charindex</span><span style="color: #000000">(</span><span style="color: #008000">@split</span><span style="color: #000000">,</span><span style="color: #008000">@str</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@location</span><span style="color: #808080">&lt;&gt;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@index</span><span style="color: #808080">&gt;</span><span style="color: #008000">@next</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">begin</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@start</span><span style="color: #808080">=</span><span style="color: #008000">@location</span><span style="color: #808080">+</span><span style="color: #008000">@seed</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@location</span><span style="color: #808080">=</span><span style="color: #ff00ff">charindex</span><span style="color: #000000">(</span><span style="color: #008000">@split</span><span style="color: #000000">,</span><span style="color: #008000">@str</span><span style="color: #000000">,</span><span style="color: #008000">@start</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@next</span><span style="color: #808080">=</span><span style="color: #008000">@next</span><span style="color: #808080">+</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">end</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@location</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">=</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@location</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">=</span><span style="color: #ff00ff">len</span><span style="color: #000000">(</span><span style="color: #008000">@str</span><span style="color: #000000">)</span><span style="color: #808080">+</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">这儿存在两种情况：1、字符串不存在分隔符号&nbsp;2、字符串中存在分隔符号，跳出while循环后，@location为0，那默认为字符串后边有一个分隔符号。</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">substring</span><span style="color: #000000">(</span><span style="color: #008000">@str</span><span style="color: #000000">,</span><span style="color: #008000">@start</span><span style="color: #000000">,</span><span style="color: #008000">@location</span><span style="color: #808080">-</span><span style="color: #008000">@start</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">end</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<br />
调用示例：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;dbo.Get_StrArrayStrOfIndex(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">8,9,4</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">)</span></div>
<br />
返回值：9<br />
&nbsp;<br />
<strong>三、结合上边两个函数，象数组一样遍历字符串中的元素</strong><br />
&nbsp;<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">declare</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@str</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">50</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@str</span><span style="color: #808080">=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">1,2,3,4,5</span><span style="color: #ff0000">'</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">declare</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@next</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@next</span><span style="color: #808080">=</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@next</span><span style="color: #808080">&lt;=</span><span style="color: #000000">dbo.Get_StrArrayLength(</span><span style="color: #008000">@str</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">begin</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">print</span><span style="color: #000000">&nbsp;dbo.Get_StrArrayStrOfIndex(</span><span style="color: #008000">@str</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #008000">@next</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@next</span><span style="color: #808080">=</span><span style="color: #008000">@next</span><span style="color: #808080">+</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">end</span></div>
<br />
&nbsp;<br />
调用结果：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="font-weight: bold; color: #800000">4</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="font-weight: bold; color: #800000">5</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #808080">//</span><span style="color: #008080">--</span><span style="color: #008080">-----------------------------------------------------------------------------------------------------------------------</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;f1,f2,f3,</span><span style="color: #ff00ff">left</span><span style="color: #000000">(A,</span><span style="color: #ff00ff">charindex</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">_</span><span style="color: #ff0000">'</span><span style="color: #000000">,A)</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;表名&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">order</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">left</span><span style="color: #000000">(A,</span><span style="color: #ff00ff">charindex</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">_</span><span style="color: #ff0000">'</span><span style="color: #000000">,A)</span><span style="color: #808080">-</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)</span></div>
<br />
<img src ="http://www.blogjava.net/supercrsky/aggbug/260998.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2009-03-20 11:29 <a href="http://www.blogjava.net/supercrsky/articles/260998.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL数据旋转的问题</title><link>http://www.blogjava.net/supercrsky/articles/260778.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Thu, 19 Mar 2009 06:33:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/260778.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/260778.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/260778.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/260778.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/260778.html</trackback:ping><description><![CDATA[<strong>表A <br />
<br />
uaserid&nbsp; uaserid1&nbsp; uaserid2&nbsp; uaserid3&nbsp; <br />
&nbsp; &nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5 <br />
<br />
表B为空表，如何获得表A的数据插入表B，最终结果是 <br />
<br />
id <br />
3 <br />
4 <br />
5</strong> <br />
<br />
解决方法:<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">object_id</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">[A]</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">is</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">drop</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">A</span><span style="color: #ff0000">]</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">go</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">A</span><span style="color: #ff0000">]</span><span style="color: #000000">(</span><span style="color: #ff0000">[</span><span style="color: #ff0000">uaserid</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">,</span><span style="color: #ff0000">[</span><span style="color: #ff0000">uaserid1</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">,</span><span style="color: #ff0000">[</span><span style="color: #ff0000">uaserid2</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">,</span><span style="color: #ff0000">[</span><span style="color: #ff0000">uaserid3</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">A</span><span style="color: #ff0000">]</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">4</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">5</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">object_id</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">[B]</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">is</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">drop</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">B</span><span style="color: #ff0000">]</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">go</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">B</span><span style="color: #ff0000">]</span><span style="color: #000000">(</span><span style="color: #ff0000">[</span><span style="color: #ff0000">id</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;b(id)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;uaserid1&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;A<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;uaserid2&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;A<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;uaserid3&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;A<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">B</span><span style="color: #ff0000">]</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008080">--</span><span style="color: #008080">测试结果:</span><span style="color: #008080"><br />
<img id="Codehighlighter1_366_417_Open_Image" onclick="this.style.display='none'; Codehighlighter1_366_417_Open_Text.style.display='none'; Codehighlighter1_366_417_Closed_Image.style.display='inline'; Codehighlighter1_366_417_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_366_417_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_366_417_Closed_Text.style.display='none'; Codehighlighter1_366_417_Open_Image.style.display='inline'; Codehighlighter1_366_417_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_366_417_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_366_417_Open_Text"><span style="color: #008080">/*</span><span style="color: #008080"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />-----------&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />3<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />4<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />5<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />（所影响的行数为&nbsp;3&nbsp;行）<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" /></span><span style="color: #008080">*/</span></span></div>
<img src ="http://www.blogjava.net/supercrsky/aggbug/260778.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2009-03-19 14:33 <a href="http://www.blogjava.net/supercrsky/articles/260778.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用Transact-SQL 遍历结果集</title><link>http://www.blogjava.net/supercrsky/articles/250462.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Thu, 08 Jan 2009 03:35:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/250462.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/250462.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/250462.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/250462.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/250462.html</trackback:ping><description><![CDATA[<p>使用 Transact-SQL 语句循环结果集</p>
<script type="text/javascript">
        loadTOCNode(2, 'summary');
      </script>有三种方法使用可以通过使用 Transact-SQL 语句遍历一个结果集。 <br />
<br />
一种方法是使用 <strong>temp </strong>表。 使用这种方法您创建的初始的 SELECT 语句的"快照"并将其用作基础"指针"。 例如： <br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_0_32_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_32_Open_Text.style.display='none'; Codehighlighter1_0_32_Closed_Image.style.display='inline'; Codehighlighter1_0_32_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_0_32_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_0_32_Closed_Text.style.display='none'; Codehighlighter1_0_32_Open_Image.style.display='inline'; Codehighlighter1_0_32_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span id="Codehighlighter1_0_32_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_0_32_Open_Text"><span style="color: #008080">/*</span><span style="color: #008080">*********&nbsp;example&nbsp;1&nbsp;*********</span><span style="color: #008080">*/</span></span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">declare</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@au_id</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">char</span><span style="color: #000000">(&nbsp;</span><span style="font-weight: bold; color: #800000">11</span><span style="color: #000000">&nbsp;)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">rowcount</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;#mytemp&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;authors<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">rowcount</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@au_id</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;au_id&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;#mytemp<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #008000">@@rowcount</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">&lt;&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">begin</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">rowcount</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;#mytemp&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;au_id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@au_id</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">delete</span><span style="color: #000000">&nbsp;#mytemp&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;au_id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@au_id</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">rowcount</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@au_id</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;au_id&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;#mytemp</span><span style="color: #808080">&lt;</span><span style="color: #000000">BR</span><span style="color: #808080">/&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">end</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">rowcount</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div>
第二个的方法是表格的一行"遍历"每次使用 <strong>Min </strong>函数。 此方法捕获添加存储的过程开始执行之后, 假设新行必<br />
须大于当前正在处理在查询中的行的唯一标识符的新行。 例如：<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_0_32_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_32_Open_Text.style.display='none'; Codehighlighter1_0_32_Closed_Image.style.display='inline'; Codehighlighter1_0_32_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_0_32_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_0_32_Closed_Text.style.display='none'; Codehighlighter1_0_32_Open_Image.style.display='inline'; Codehighlighter1_0_32_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span id="Codehighlighter1_0_32_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_0_32_Open_Text"><span style="color: #008080">/*</span><span style="color: #008080">*********&nbsp;example&nbsp;2&nbsp;*********</span><span style="color: #008080">*/</span></span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">declare</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@au_id</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">char</span><span style="color: #000000">(&nbsp;</span><span style="font-weight: bold; color: #800000">11</span><span style="color: #000000">&nbsp;)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@au_id</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">min</span><span style="color: #000000">(&nbsp;au_id&nbsp;)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;authors<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@au_id</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">is</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">begin</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;authors&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;au_id&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@au_id</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@au_id</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">min</span><span style="color: #000000">(&nbsp;au_id&nbsp;)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;authors&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;au_id&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@au_id</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">end</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<strong>注意 </strong>： 两个示例 1 和 2，则假定源表中的每个行唯一的标识符存在。 在某些情况下，可能存在没有唯一标识符。 如果是这种情况，您可以修改 <strong>temp </strong>表方法使用新创建的键列。 例如： <br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_0_32_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_32_Open_Text.style.display='none'; Codehighlighter1_0_32_Closed_Image.style.display='inline'; Codehighlighter1_0_32_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_0_32_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_0_32_Closed_Text.style.display='none'; Codehighlighter1_0_32_Open_Image.style.display='inline'; Codehighlighter1_0_32_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span id="Codehighlighter1_0_32_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_0_32_Open_Text"><span style="color: #008080">/*</span><span style="color: #008080">*********&nbsp;example&nbsp;3&nbsp;*********</span><span style="color: #008080">*/</span></span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">rowcount</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">NULL</span><span style="color: #000000">&nbsp;mykey,&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;#mytemp&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;authors<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">rowcount</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">update</span><span style="color: #000000">&nbsp;#mytemp&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;mykey&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #008000">@@rowcount</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">begin</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">rowcount</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;#mytemp&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;mykey&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">delete</span><span style="color: #000000">&nbsp;#mytemp&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;mykey&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">rowcount</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">update</span><span style="color: #000000">&nbsp;#mytemp&nbsp;</span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;mykey&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">end</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">rowcount</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<img src ="http://www.blogjava.net/supercrsky/aggbug/250462.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2009-01-08 11:35 <a href="http://www.blogjava.net/supercrsky/articles/250462.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL之通用查询分页存储过程</title><link>http://www.blogjava.net/supercrsky/articles/238740.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Wed, 05 Nov 2008 01:44:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/238740.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/238740.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/238740.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/238740.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/238740.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: --创建测试表if&nbsp;object_id('person')&nbsp;is&nbsp;not&nbsp;null&nbsp;&nbsp;drop&nbsp;table&nbsp;personcreate&nbsp;table&nbsp;person&nbsp;(&nbsp;&nbsp;id&nbsp;int&nbsp;primary&nbsp;key&nbsp;i...&nbsp;&nbsp;<a href='http://www.blogjava.net/supercrsky/articles/238740.html'>阅读全文</a><img src ="http://www.blogjava.net/supercrsky/aggbug/238740.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2008-11-05 09:44 <a href="http://www.blogjava.net/supercrsky/articles/238740.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL:删除表中重复的记录</title><link>http://www.blogjava.net/supercrsky/articles/238389.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Mon, 03 Nov 2008 09:39:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/238389.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/238389.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/238389.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/238389.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/238389.html</trackback:ping><description><![CDATA[<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_0_52_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_52_Open_Text.style.display='none'; Codehighlighter1_0_52_Closed_Image.style.display='inline'; Codehighlighter1_0_52_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_0_52_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_0_52_Closed_Text.style.display='none'; Codehighlighter1_0_52_Open_Image.style.display='inline'; Codehighlighter1_0_52_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span id="Codehighlighter1_0_52_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_0_52_Open_Text"><span style="color: #008080">/*</span><span style="color: #008080">*<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />**删除表中的重复记录<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />**@author&nbsp;zdw<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />**&nbsp;2008&nbsp;11.03&nbsp;17:30<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />*</span><span style="color: #008080">*/</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008080">--</span><span style="color: #008080">创建测试表</span><span style="color: #008080"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">object_id</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">test</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">is</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">drop</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;test<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;test<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />(<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;id&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">identity</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">primary</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">,<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;name&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">50</span><span style="color: #000000">)<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />)<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008080">--</span><span style="color: #008080">插入几条测试数据</span><span style="color: #008080"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;test&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">a</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">a</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">a</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">a</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">a</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">a</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">b</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">b</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">b</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">b</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">b</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">b</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">b</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">c</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">c</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">c</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">d</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">union</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">all</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">d</span><span style="color: #ff0000">'</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008080">--</span><span style="color: #008080">查看当前记录</span><span style="color: #008080"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;test<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">object_id</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">#</span><span style="color: #ff0000">'</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">is</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">drop</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;#<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008080">--</span><span style="color: #008080">注意(是单个字段的不同还是多个字段,这里是name)</span><span style="color: #008080"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">distinct</span><span style="color: #000000">&nbsp;(name)&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;#&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;test<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008080">--</span><span style="color: #008080">查看新表中的数据</span><span style="color: #008080"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;#<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008080">--</span><span style="color: #008080">清空旧表</span><span style="color: #008080"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">truncate</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;test<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008080">--</span><span style="color: #008080">将新表中的数据插入到旧表</span><span style="color: #008080"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;test&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;#<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008080">--</span><span style="color: #008080">删除新表</span><span style="color: #008080"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">drop</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;#<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008080">--</span><span style="color: #008080">查看结果</span><span style="color: #008080"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;test<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
csdn上秒到的一些方法：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">、查找表中多余的重复记录，重复记录是根据单个字段（peopleId）来判断&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;people&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;peopleId&nbsp;</span><span style="color: #808080">in</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;&nbsp;peopleId&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;&nbsp;people&nbsp;&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;&nbsp;peopleId&nbsp;&nbsp;</span><span style="color: #0000ff">having</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #ff00ff">count</span><span style="color: #000000">(peopleId)&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">、删除表中多余的重复记录，重复记录是根据单个字段（peopleId）来判断，只留有rowid最小的记录&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">delete</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;people&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;peopleId&nbsp;&nbsp;</span><span style="color: #808080">in</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;&nbsp;peopleId&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;people&nbsp;&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;&nbsp;peopleId&nbsp;&nbsp;</span><span style="color: #0000ff">having</span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #ff00ff">count</span><span style="color: #000000">(peopleId)&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;rowid&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">in</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">min</span><span style="color: #000000">(rowid)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;&nbsp;people&nbsp;&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;peopleId&nbsp;&nbsp;</span><span style="color: #0000ff">having</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">count</span><span style="color: #000000">(peopleId&nbsp;)</span><span style="color: #808080">&gt;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">、查找表中多余的重复记录（多个字段）&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;vitae&nbsp;a&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;(a.peopleId,a.seq)&nbsp;</span><span style="color: #808080">in</span><span style="color: #000000">&nbsp;&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;peopleId,seq&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;vitae&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;peopleId,seq&nbsp;&nbsp;</span><span style="color: #0000ff">having</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">count</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="font-weight: bold; color: #800000">4</span><span style="color: #000000">、删除表中多余的重复记录（多个字段），只留有rowid最小的记录&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">delete</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;vitae&nbsp;a&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;(a.peopleId,a.seq)&nbsp;</span><span style="color: #808080">in</span><span style="color: #000000">&nbsp;&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;peopleId,seq&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;vitae&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;peopleId,seq&nbsp;</span><span style="color: #0000ff">having</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">count</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;rowid&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">in</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">min</span><span style="color: #000000">(rowid)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;vitae&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;peopleId,seq&nbsp;</span><span style="color: #0000ff">having</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">count</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)</span><span style="color: #808080">&gt;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="font-weight: bold; color: #800000">5</span><span style="color: #000000">、查找表中多余的重复记录（多个字段），不包含rowid最小的记录&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;vitae&nbsp;a&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;(a.peopleId,a.seq)&nbsp;</span><span style="color: #808080">in</span><span style="color: #000000">&nbsp;&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;peopleId,seq&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;vitae&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;peopleId,seq&nbsp;</span><span style="color: #0000ff">having</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">count</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;rowid&nbsp;</span><span style="color: #808080">not</span><span style="color: #000000">&nbsp;</span><span style="color: #808080">in</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">min</span><span style="color: #000000">(rowid)&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;vitae&nbsp;</span><span style="color: #0000ff">group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">by</span><span style="color: #000000">&nbsp;peopleId,seq&nbsp;</span><span style="color: #0000ff">having</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">count</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)</span><span style="color: #808080">&gt;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />比方说在A表中存在一个字段&#8220;name&#8221;，而且不同记录之间的&#8220;name&#8221;值有可能会相同，&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />现在就是需要查询出在该表中的各记录之间，&#8220;name&#8221;值存在重复的项；&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">Select</span><span style="color: #000000">&nbsp;Name,</span><span style="color: #ff00ff">Count</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">From</span><span style="color: #000000">&nbsp;A&nbsp;</span><span style="color: #0000ff">Group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">By</span><span style="color: #000000">&nbsp;Name&nbsp;</span><span style="color: #0000ff">Having</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Count</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />如果还查性别也相同大则如下:&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">Select</span><span style="color: #000000">&nbsp;Name,sex,</span><span style="color: #ff00ff">Count</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">From</span><span style="color: #000000">&nbsp;A&nbsp;</span><span style="color: #0000ff">Group</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">By</span><span style="color: #000000">&nbsp;Name,sex&nbsp;</span><span style="color: #0000ff">Having</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">Count</span><span style="color: #000000">(</span><span style="color: #808080">*</span><span style="color: #000000">)&nbsp;</span><span style="color: #808080">&gt;</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #800000">1</span></div>
<br />
还有什么好的解决方法，请大家一起分享。 
<img src ="http://www.blogjava.net/supercrsky/aggbug/238389.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2008-11-03 17:39 <a href="http://www.blogjava.net/supercrsky/articles/238389.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hsqldb 简单使用指南</title><link>http://www.blogjava.net/supercrsky/articles/221756.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Wed, 13 Aug 2008 08:41:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/221756.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/221756.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/221756.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/221756.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/221756.html</trackback:ping><description><![CDATA[<span style="font-size: 12pt; font-family: Comic Sans MS">一、简介： <br />
hsql数据库是一款纯Java编写的免费数据库，许可是BSD-style的协议。 <br />
相对其他数据库来说，其体积小，才3276605bytes。 <br />
仅一个hsqldb.jar文件就包括了数据库引擎，数据库驱动，还有其他用户界面操作等内容。 <br />
最新版本是<font color="#0033cc">hsqldb_1_8_0_7</font> ，下载地址：<a href="http://hsqldb.org/">http://hsqldb.org/</a><br />
<br />
二、使用hsql数据库： <br />
1、hsql数据库引擎有几种服务器模式：常用的Server模式、WebServer模式、Servlet模式、Standlone模式、Memory-On&amp;shy;ly数据库。 <br />
<br />
2、<font color="#ff0000">最为常用的Server模式</font>： <br />
1)首先却换到lib文件夹下，运行<font style="background-color: #ffffff" color="#ff0000">java -cp hsqldb.jar org.hsqldb.Server -database db/mydb -dbname xdb</font><br />
执行命令后，将会在db文件夹下创建一个数据库mydb，别名（用于访问数据库）是xdb，如果存在mydb数据库，将会打开它。 <br />
2)运行数据库界面操作工具：<font color="#ff0000">java -cp hsqldb.jar org.hsqldb.util.DatabaseManager</font><br />
在<font color="#ff0000">Type</font>选项里选上相应的服务器模式，这里选择HSQL Database Engine Server模式；<br />
<font color="#ff0000">Driver</font>不用修改；<br />
<font color="#ff0000">URL</font>修改为jdbc:hsqldb:hsql://localhost/xdb (主要这里xdb就是上面我们设置的别名)；<br />
<font color="#ff0000">user</font>里设置用户名，第一次登录时，设置的是管理员的用户名；<br />
<font color="#ff0000">password</font>设置密码。<br />
然后点击Ok。 <br />
3)第一次运行数据库引擎，创建数据库完毕。好了，你可以打开db文件夹，会发现里面多了几个文件。 <br />
<font color="#ff0000">mydb.properties</font>文件：是关于数据库的属性文件。 <br />
<font color="#ff0000">mydb.script</font>：hsql主要保存的表（这里按hsql的说法是Memory表，就是最为常用的），里面的格式都是文本格式，可以用文本查看，里面的语&amp;shy;句都是sql语句，熟悉sql语句的话，你也可以手动修改它。每次运行数据库引擎的话都是从这里加载进内存的。 <br />
<font color="#ff0000">mydb.lck</font>表示数据库处于打开状态。 <br />
其他的请参看hsqldb包里的手册。 <br />
<br />
3、<font color="#ff0000">WebServer模式</font>和<font color="#ff0000">Server运行模式</font>基本一样，只是支持了Http等协议，主要用于防火墙，默认端口是9001。启动Server，<font color="#ff0000">java -cp hsqldb.jar org.hsqldb.WebServer</font> ...剩余的和上面的一致。 <br />
<br />
4、<font color="#ff0000">Servlet模式</font>可以允许你通过Servlet容器来访问数据库，请查看hsqlServlet.java的源代码，和WebServer类似。 <br />
<br />
5、另一个值得思考的模式是<font color="#ff0000">Standalone模式</font>：不能通过网络来访问数据库，主要是在一个JVM中使用，那样的话，访问的速度会更加快。虽然文档里面提到&amp;shy;主要是用于开发时使用，但是我们可以假设一下，该方法不需要一个引擎类的东西，而类似于打开文件的方式，返回一个Connection对象： <br />
<font color="#ff0000">Connection c = DriverManager.getConnection("jdbc:hsqldb:file:mydb", "sa", "");</font><br />
将会在当前目录找到mydb数据库相关文件，打开并返回一个Connection对象。该方式有点好处就是可以不使用引擎，在需要的时候操作数据。所以那些对数据库不是特别有要求的，但又需要一个操作数据库的方式的话，可以使用这种方法。对于那些不想额外在数据库引擎花费金钱的话，可以使用这种方法。但是不推荐使用该方法。记得Hibernate里SessionFactory可以使用openSession(Connecttion c)来获得一个Session对象的，因此，在测试或者实际应用的话都可以这样使用。 <br />
<br />
6、<font color="#ff0000">Memory-Only</font> 数据库：顾名思义，主要是内存中使用，不用于保存数据。可以用于在内存中交换数据。 <br />
<br />
上面是关于hsqldb的一些基本信息的介绍，可以看到它的一些优势和特性。 <br />
我们可以把hsqldb内置在web程序中，除考虑Standalone模式外，最好是采用最为常用的Server模式。 <br />
那么Server模式如何和web程序合理搭配使用呢。 <br />
可以采用两种方式： <br />
1）采用上面提到的方法，运行<font color="#ff0000">java -cp hsqldb.jar org.hsqldb.Server -database.0 db/mydb -dbname.0 xdb <br />
</font>来启动db，通过设置的<font color="#ff0000">URL：jdbc:hsqldb:hsql://xdb</font> 以达到在程序中访问hsql数据库的 <br />
（注：设置URL等信息，可以通过hibernate来配置，例如： <br />
<font color="#0000ff">hibernate.dialect org.hibernate.dialect.HSQLDialect <br />
hibernate.connection.driver_class org.hsqldb.jdbcDriver <br />
hibernate.connection.username sa <br />
hibernate.connection.password <br />
hibernate.connection.url jdbc:hsqldb:hsql://localhost/xdb ） <br />
</font>2）为了省去第一种方法的琐碎，可以在启动web容器的过程中同时启动hsqldb。具体做法如下：编写一个有关hsql的Listener类，扩展javax&amp;shy;.servlet.ServletContextListener，可以在配置文件中设置dbPath、dbName、port等等hsqldb的信息，启动h&amp;shy;sqldb。 <br />
<font color="#ff0000">在web.xml中配置</font><br />
<font color="#0000ff">&lt;listener&gt; <br />
&lt;listener-class&gt;com.iplan.portal.framework.web.HsqlListener&lt;/listener-class&amp;shy;&gt; <br />
&lt;/listener&gt; </font><br />
这样在启动web容器的时候，同时启动了hsqldb，关闭容器的时候同时也shutdown掉hsqldb。 <br />
<br />
还有一点说明的是：在单体或是结合测试的时候，可以采用Memory-Only <br />
数据库，这样可以保证原有数据库中数据的完整性，这也是比较好的一个功能。</span> 
<img src ="http://www.blogjava.net/supercrsky/aggbug/221756.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2008-08-13 16:41 <a href="http://www.blogjava.net/supercrsky/articles/221756.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>两表联合查询行转列问题</title><link>http://www.blogjava.net/supercrsky/articles/210064.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Mon, 23 Jun 2008 07:16:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/210064.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/210064.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/210064.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/210064.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/210064.html</trackback:ping><description><![CDATA[<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_0_6_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_6_Open_Text.style.display='none'; Codehighlighter1_0_6_Closed_Image.style.display='inline'; Codehighlighter1_0_6_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_0_6_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_0_6_Closed_Text.style.display='none'; Codehighlighter1_0_6_Open_Image.style.display='inline'; Codehighlighter1_0_6_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span id="Codehighlighter1_0_6_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_0_6_Open_Text"><span style="color: #008080">/*</span><span style="color: #008080">字段表</span><span style="color: #008080">*/</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;D_InsuranceField<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />(<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;IF_ID&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">primary</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">identity</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">),<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;IF_Name&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">50</span><span style="color: #000000">),<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;IF_ILID&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceField&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">checkColumn</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceField&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">isHasNextLayer</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceField&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">layers</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceField&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">inputConfig</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceField&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">parentId</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceField&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">carRegion</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceField&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">carType</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceField&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">carSeries</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceField&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">carBrand</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceField&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">carModel</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceField&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">price</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_679_687_Open_Image" onclick="this.style.display='none'; Codehighlighter1_679_687_Open_Text.style.display='none'; Codehighlighter1_679_687_Closed_Image.style.display='inline'; Codehighlighter1_679_687_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_679_687_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_679_687_Closed_Text.style.display='none'; Codehighlighter1_679_687_Open_Image.style.display='inline'; Codehighlighter1_679_687_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_679_687_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_679_687_Open_Text"><span style="color: #008080">/*</span><span style="color: #008080">保险数据表</span><span style="color: #008080">*/</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;D_InsuranceData<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />(<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;ID_ID&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">primary</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">key</span><span style="color: #000000">&nbsp;</span><span style="color: #ff00ff">identity</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">),<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;D_IFID&nbsp;</span><span style="font-weight: bold; color: #000000">int</span><span style="color: #000000">,<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;D_Value&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">50</span><span style="color: #000000">),<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;InsuranceCode&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">50</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">truncate</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">table</span><span style="color: #000000">&nbsp;D_InsuranceData<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">*1</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A001</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">1</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A001</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">1</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A001</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">4</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">xxxxxxxxxX</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A001</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">5</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A001</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">6</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">北京</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A001</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">7</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">自用汽车</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A001</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">8</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">奥迪</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A001</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">9</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">奥迪A6</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A001</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">奥迪A6L2.6</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A001</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">11</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">550000</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A001</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">*11</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A002</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">11</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A002</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">3</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">11</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A002</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">4</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">xxxxxxxxx2X</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A002</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">5</span><span style="color: #000000">,</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A002</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">6</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">北京2</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A002</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">7</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">自用汽车2</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A002</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">8</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">奥迪2</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A002</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">9</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">奥迪A62</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A002</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">10</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">奥迪A6L2.62</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A002</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">insert</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;D_InsuranceData&nbsp;</span><span style="color: #0000ff">values</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">11</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">5500002</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">'</span><span style="color: #ff0000">A002</span><span style="color: #ff0000">'</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">go</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">declare</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@s</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">nvarchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">4000</span><span style="color: #000000">),</span><span style="color: #008000">@s2</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">nvarchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">4000</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@s2</span><span style="color: #808080">=</span><span style="color: #ff0000">''</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@s</span><span style="color: #808080">=</span><span style="color: #ff00ff">isnull</span><span style="color: #000000">(</span><span style="color: #008000">@s</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'</span><span style="color: #000000">,</span><span style="color: #ff0000">''</span><span style="color: #000000">)</span><span style="color: #808080">+</span><span style="color: #ff00ff">quotename</span><span style="color: #000000">(IF_ID),</span><span style="color: #008000">@s2</span><span style="color: #808080">=</span><span style="color: #008000">@s2</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,</span><span style="color: #ff0000">'</span><span style="color: #808080">+</span><span style="color: #ff00ff">quotename</span><span style="color: #000000">(IF_Name)</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">=</span><span style="color: #ff0000">'</span><span style="color: #808080">+</span><span style="color: #ff00ff">quotename</span><span style="color: #000000">(IF_ID)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;D_InsuranceField<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">exec</span><span style="color: #000000">(</span><span style="color: #ff0000">'</span><span style="color: #ff0000">select&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InsuranceCode</span><span style="color: #ff0000">'</span><span style="color: #808080">+</span><span style="color: #008000">@s2</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />from&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;(select&nbsp;D_IFID,D_Value,InsuranceCode&nbsp;from&nbsp;D_InsuranceData)&nbsp;a&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />pivot&nbsp;(max(D_Value)&nbsp;for&nbsp;D_IFID&nbsp;in(</span><span style="color: #ff0000">'</span><span style="color: #808080">+</span><span style="color: #008000">@s</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">))b</span><span style="color: #ff0000">'</span><span style="color: #000000">)</span></div>
输出结果:<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">A001&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">*</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;xxxxxxxxxX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;北京&nbsp;&nbsp;&nbsp;&nbsp;自用汽车&nbsp;&nbsp;&nbsp;&nbsp;奥迪&nbsp;&nbsp;&nbsp;&nbsp;奥迪A6&nbsp;&nbsp;&nbsp;&nbsp;奥迪A6L2.</span><span style="font-weight: bold; color: #800000">6</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />A002&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">*</span><span style="font-weight: bold; color: #800000">11</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">11</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">11</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;xxxxxxxxx2X&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-weight: bold; color: #800000">2</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;北京2&nbsp;&nbsp;&nbsp;&nbsp;自用汽车2&nbsp;&nbsp;&nbsp;&nbsp;奥迪2&nbsp;&nbsp;&nbsp;&nbsp;奥迪A62&nbsp;&nbsp;&nbsp;&nbsp;奥迪A6L2.</span><span style="font-weight: bold; color: #800000">62</span></div>
<br />
另一种方法:<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">declare</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@sql</span><span style="color: #000000">&nbsp;</span><span style="font-weight: bold; color: #000000">varchar</span><span style="color: #000000">(</span><span style="font-weight: bold; color: #800000">8000</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@sql</span><span style="color: #808080">=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">select&nbsp;InsuranceCode</span><span style="color: #ff0000">'</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@sql</span><span style="color: #808080">=</span><span style="color: #008000">@sql</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">,[</span><span style="color: #ff0000">'</span><span style="color: #808080">+</span><span style="color: #000000">IF_Name</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">]=max(case&nbsp;D_IFID&nbsp;when&nbsp;</span><span style="color: #ff0000">'''</span><span style="color: #808080">+</span><span style="color: #ff00ff">ltrim</span><span style="color: #000000">(IF_ID)</span><span style="color: #808080">+</span><span style="color: #ff0000">'''</span><span style="color: #ff0000">&nbsp;then&nbsp;D_Value&nbsp;else&nbsp;</span><span style="color: #ff0000">''''</span><span style="color: #ff0000">&nbsp;end)</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;&nbsp;D_InsuranceField<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">set</span><span style="color: #000000">&nbsp;</span><span style="color: #008000">@sql</span><span style="color: #808080">=</span><span style="color: #008000">@sql</span><span style="color: #808080">+</span><span style="color: #ff0000">'</span><span style="color: #ff0000">&nbsp;from&nbsp;D_InsuranceData&nbsp;group&nbsp;by&nbsp;InsuranceCode</span><span style="color: #ff0000">'</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">exec</span><span style="color: #000000">(</span><span style="color: #008000">@sql</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<img src ="http://www.blogjava.net/supercrsky/aggbug/210064.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2008-06-23 15:16 <a href="http://www.blogjava.net/supercrsky/articles/210064.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>简单的行列互转问题</title><link>http://www.blogjava.net/supercrsky/articles/210061.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Mon, 23 Jun 2008 07:08:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/210061.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/210061.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/210061.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/210061.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/210061.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: --行列互转/**//******************************************************************************************************************************************************以学生成绩为例子，比较形象易懂整理人：中国风(Roy)...&nbsp;&nbsp;<a href='http://www.blogjava.net/supercrsky/articles/210061.html'>阅读全文</a><img src ="http://www.blogjava.net/supercrsky/aggbug/210061.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2008-06-23 15:08 <a href="http://www.blogjava.net/supercrsky/articles/210061.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用虚拟索引进行数据库优化</title><link>http://www.blogjava.net/supercrsky/articles/197026.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Tue, 29 Apr 2008 02:20:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/197026.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/197026.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/197026.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/197026.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/197026.html</trackback:ping><description><![CDATA[<p>在数据库优化中，索引的重要性不言而喻。但是，在性能调整过程中，一个索引是否能被查询用到，在索引创建之前是无法确定的，而创建索引是一个代价比较高的操作，尤其是数据量较大的时候。</p>
<p>虚拟索引（Virtual Index）不是物理存在的，它并不会创建实际的索引段，只是在数据字典中加了一个索引的记录，使得优化器能够意识到一个索引的存在，从而判断是否使用该索引作为访问路径。当然，实际上最终查询的访问路径是不会使用该虚拟索引的。</p>
<p>所以，虚拟索引的用处就是用来判断一个索引对于sql的执行计划的影响，尤其是对整个数据库的影响，从而判断是否需要创建物理索引。</p>
<p>oracle文档中并没有提到虚拟索引的创建语法，实际上就是普通索引语法后面加一个nosegment关键字即可，B*Tree index和bitmap index都可以。</p>
<p></p>
<p>不同版本的虚拟索引的特性可能不一样，本文的例子执行环境为：</p>
<div class="hl-surround">
<div class="hl-main"><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">select</span><span style="color: gray"> * </span><span style="color: green">from</span><span style="color: gray"> </span><span style="color: blue">v</span><span style="color: gray">$</span><span style="color: blue">version</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: blue">BANNER</span><span style="color: gray"><br />
--------------------------------------------------------------</span><span style="color: #ffa500">--<br />
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod</span><span style="color: gray"><br />
</span><span style="color: blue">PL</span><span style="color: gray">/</span><span style="color: green">SQL</span><span style="color: gray"> </span><span style="color: blue">Release</span><span style="color: gray"> </span><span style="color: maroon">10.2.0.3.0</span><span style="color: gray"> - </span><span style="color: blue">Production</span><span style="color: gray"><br />
</span><span style="color: blue">CORE</span><span style="color: gray">&nbsp; &nbsp; </span><span style="color: maroon">10.2.0.3.0</span><span style="color: gray">&nbsp; &nbsp; &nbsp; </span><span style="color: blue">Production</span><span style="color: gray"><br />
</span><span style="color: blue">TNS</span><span style="color: gray"> </span><span style="color: green">for</span><span style="color: gray"> </span><span style="color: maroon">32</span><span style="color: gray">-</span><span style="color: green">bit</span><span style="color: gray"> </span><span style="color: blue">Windows</span><span style="color: gray">: </span><span style="color: blue">Version</span><span style="color: gray"> </span><span style="color: maroon">10.2.0.3.0</span><span style="color: gray"> - </span><span style="color: blue">Production</span><span style="color: gray"><br />
</span><span style="color: blue">NLSRTL</span><span style="color: gray"> </span><span style="color: blue">Version</span><span style="color: gray"> </span><span style="color: maroon">10.2.0.3.0</span><span style="color: gray"> - </span><span style="color: blue">Production</span></div>
</div>
<p>1.创建虚拟索引</p>
<div class="hl-surround">
<div class="hl-main"><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">create</span><span style="color: gray"> </span><span style="color: green">table</span><span style="color: gray"> </span><span style="color: blue">test</span><span style="color: olive">(</span><span style="color: blue">id</span><span style="color: gray"> </span><span style="color: green">int</span><span style="color: gray">,</span><span style="color: #00008b">name</span><span style="color: gray"> </span><span style="color: blue">varchar2</span><span style="color: olive">(</span><span style="color: maroon">30</span><span style="color: olive">))</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: green">Table</span><span style="color: gray"> </span><span style="color: blue">created</span><span style="color: gray">.<br />
&nbsp;<br />
</span><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">insert</span><span style="color: gray"> </span><span style="color: green">into</span><span style="color: gray"> </span><span style="color: blue">test</span><span style="color: gray"> </span><span style="color: green">select</span><span style="color: gray"> </span><span style="color: blue">rownum</span><span style="color: gray">,</span><span style="color: blue">object_name</span><span style="color: gray"> </span><span style="color: green">from</span><span style="color: gray"> </span><span style="color: blue">all_objects</span><span style="color: gray"> </span><span style="color: green">where</span><span style="color: gray"> </span><span style="color: blue">rownum</span><span style="color: gray">&lt;</span><span style="color: maroon">1001</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: maroon">1000</span><span style="color: gray"> </span><span style="color: green">rows</span><span style="color: gray"> </span><span style="color: blue">created</span><span style="color: gray">.<br />
&nbsp;<br />
</span><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">commit</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: green">Commit</span><span style="color: gray"> </span><span style="color: blue">complete</span><span style="color: gray">.<br />
&nbsp;<br />
</span><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">create</span><span style="color: gray"> </span><span style="color: green">unique</span><span style="color: gray"> </span><span style="color: blue">index</span><span style="color: gray"> </span><span style="color: blue">ix_test</span><span style="color: gray"> </span><span style="color: green">on</span><span style="color: gray"> </span><span style="color: blue">test</span><span style="color: olive">(</span><span style="color: blue">id</span><span style="color: olive">)</span><span style="color: gray"> </span><span style="color: blue">nosegment</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: blue">Index</span><span style="color: gray"> </span><span style="color: blue">created</span><span style="color: gray">.<br />
&nbsp;<br />
</span><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: blue">analyze</span><span style="color: gray"> </span><span style="color: green">table</span><span style="color: gray"> </span><span style="color: blue">test</span><span style="color: gray"> </span><span style="color: blue">compute</span><span style="color: gray"> </span><span style="color: blue">statistics</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: green">Table</span><span style="color: gray"> </span><span style="color: blue">analyzed</span><span style="color: gray">.</span></div>
</div>
<p>2.使用虚拟索引</p>
<div class="hl-surround">
<div class="hl-main"><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: blue">explain</span><span style="color: gray"> </span><span style="color: blue">plan</span><span style="color: gray"> </span><span style="color: green">for</span><span style="color: gray"> </span><span style="color: green">select</span><span style="color: gray"> * </span><span style="color: green">from</span><span style="color: gray"> </span><span style="color: blue">test</span><span style="color: gray"> </span><span style="color: green">where</span><span style="color: gray"> </span><span style="color: blue">id</span><span style="color: gray">=</span><span style="color: maroon">1</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: blue">Explained</span><span style="color: gray">.<br />
&nbsp;<br />
</span><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">select</span><span style="color: gray"> * </span><span style="color: green">from</span><span style="color: gray"> </span><span style="color: green">table</span><span style="color: olive">(</span><span style="color: blue">dbms_xplan</span><span style="color: gray">.</span><span style="color: blue">display</span><span style="color: olive">())</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: blue">PLAN_TABLE_OUTPUT</span><span style="color: gray"><br />
------------------------------------------------------------------------</span><span style="color: #ffa500">--<br />
Plan hash value: 1357081020</span><span style="color: gray"><br />
&nbsp;<br />
------------------------------------------------------------------------</span><span style="color: #ffa500">--<br />
| Id&nbsp; | Operation&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| Name | Rows&nbsp; | Bytes | Cost (%CPU)| Time&nbsp; &nbsp; &nbsp;|</span><span style="color: gray"><br />
------------------------------------------------------------------------</span><span style="color: #ffa500">--<br />
|&nbsp; &nbsp;0 | SELECT STATEMENT&nbsp; |&nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp;1 |&nbsp; &nbsp; 17 |&nbsp; &nbsp; &nbsp;3&nbsp; &nbsp;(0)| 00:00:01 |</span><span style="color: gray"><br />
|*&nbsp; </span><span style="color: maroon">1</span><span style="color: gray"> |&nbsp; </span><span style="color: green">TABLE</span><span style="color: gray"> </span><span style="color: blue">ACCESS</span><span style="color: gray"> </span><span style="color: green">FULL</span><span style="color: gray">| </span><span style="color: blue">TEST</span><span style="color: gray"> |&nbsp; &nbsp; &nbsp;</span><span style="color: maroon">1</span><span style="color: gray"> |&nbsp; &nbsp; </span><span style="color: maroon">17</span><span style="color: gray"> |&nbsp; &nbsp; &nbsp;</span><span style="color: maroon">3</span><span style="color: gray">&nbsp; &nbsp;</span><span style="color: olive">(</span><span style="color: maroon">0</span><span style="color: olive">)</span><span style="color: gray">| </span><span style="color: maroon">00</span><span style="color: gray">:</span><span style="color: maroon">00</span><span style="color: gray">:</span><span style="color: maroon">01</span><span style="color: gray"> |<br />
--------------------------------------------------------------------------</span></div>
</div>
<p><strong>必须设置隐含参数&#8221;_use_nosegment_indexes&#8221;=true（默认为false)后，CBO才能使用虚拟索引ix_test</strong></p>
<div class="hl-surround">
<div class="hl-main"><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">alter</span><span style="color: gray"> </span><span style="color: green">session</span><span style="color: gray"> </span><span style="color: green">set</span><span style="color: gray"> </span><span style="color: #8b0000">"</span><span style="color: red">_use_nosegment_indexes</span><span style="color: #8b0000">"</span><span style="color: gray">=</span><span style="color: green">true</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: green">Session</span><span style="color: gray"> </span><span style="color: blue">altered</span><span style="color: gray">.<br />
&nbsp;<br />
</span><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">select</span><span style="color: gray"> * </span><span style="color: green">from</span><span style="color: gray"> </span><span style="color: green">table</span><span style="color: olive">(</span><span style="color: blue">dbms_xplan</span><span style="color: gray">.</span><span style="color: blue">display</span><span style="color: olive">())</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: blue">PLAN_TABLE_OUTPUT</span><span style="color: gray"><br />
------------------------------------------------------------------------</span><span style="color: #ffa500">--<br />
Plan hash value: 166686173</span><span style="color: gray"><br />
&nbsp;<br />
--------------------------------------------------------------------------</span><span style="color: #ffa500">--<br />
| Id&nbsp; | Operation&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| Name&nbsp; &nbsp; | Rows&nbsp; | Bytes | Cost (%CPU)| Time&nbsp; &nbsp; &nbsp;|</span><span style="color: gray"><br />
--------------------------------------------------------------------------</span><span style="color: #ffa500">--<br />
|&nbsp; &nbsp;0 | SELECT STATEMENT&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;1 |&nbsp; &nbsp; 17 |&nbsp; &nbsp; &nbsp;2&nbsp; &nbsp;(0)| 00:00:01 |</span><span style="color: gray"><br />
|&nbsp; &nbsp;</span><span style="color: maroon">1</span><span style="color: gray"> |&nbsp; </span><span style="color: green">TABLE</span><span style="color: gray"> </span><span style="color: blue">ACCESS</span><span style="color: gray"> </span><span style="color: green">BY</span><span style="color: gray"> </span><span style="color: blue">INDEX</span><span style="color: gray"> </span><span style="color: blue">ROWID</span><span style="color: gray">| </span><span style="color: blue">TEST</span><span style="color: gray">&nbsp; &nbsp; |&nbsp; &nbsp; &nbsp;</span><span style="color: maroon">1</span><span style="color: gray"> |&nbsp; &nbsp; </span><span style="color: maroon">17</span><span style="color: gray"> |&nbsp; &nbsp; &nbsp;</span><span style="color: maroon">2</span><span style="color: gray">&nbsp; &nbsp;</span><span style="color: olive">(</span><span style="color: maroon">0</span><span style="color: olive">)</span><span style="color: gray">| </span><span style="color: maroon">00</span><span style="color: gray">:</span><span style="color: maroon">00</span><span style="color: gray">:</span><span style="color: maroon">01</span><span style="color: gray"> |<br />
|*&nbsp; </span><span style="color: maroon">2</span><span style="color: gray"> |&nbsp; &nbsp;</span><span style="color: blue">INDEX</span><span style="color: gray"> </span><span style="color: green">UNIQUE</span><span style="color: gray"> </span><span style="color: blue">SCAN</span><span style="color: gray">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| </span><span style="color: blue">IX_TEST</span><span style="color: gray"> |&nbsp; &nbsp; &nbsp;</span><span style="color: maroon">1</span><span style="color: gray"> |&nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;</span><span style="color: maroon">1</span><span style="color: gray">&nbsp; &nbsp;</span><span style="color: olive">(</span><span style="color: maroon">0</span><span style="color: olive">)</span><span style="color: gray">| </span><span style="color: maroon">00</span><span style="color: gray">:</span><span style="color: maroon">00</span><span style="color: gray">:</span><span style="color: maroon">01</span><span style="color: gray"> |<br />
----------------------------------------------------------------------------</span></div>
</div>
<p>RBO无法使用虚拟索引</p>
<div class="hl-surround">
<div class="hl-main"><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">alter</span><span style="color: gray"> </span><span style="color: green">session</span><span style="color: gray"> </span><span style="color: green">set</span><span style="color: gray"> </span><span style="color: blue">optimizer_mode</span><span style="color: gray">=</span><span style="color: blue">rule</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: green">Session</span><span style="color: gray"> </span><span style="color: blue">altered</span><span style="color: gray">.<br />
&nbsp;<br />
</span><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: blue">explain</span><span style="color: gray"> </span><span style="color: blue">plan</span><span style="color: gray"> </span><span style="color: green">for</span><span style="color: gray"> </span><span style="color: green">select</span><span style="color: gray"> * </span><span style="color: green">from</span><span style="color: gray"> </span><span style="color: blue">test</span><span style="color: gray"> </span><span style="color: green">where</span><span style="color: gray"> </span><span style="color: blue">id</span><span style="color: gray">=</span><span style="color: maroon">1</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: blue">Explained</span><span style="color: gray">.<br />
&nbsp;<br />
</span><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">select</span><span style="color: gray"> * </span><span style="color: green">from</span><span style="color: gray"> </span><span style="color: green">table</span><span style="color: olive">(</span><span style="color: blue">dbms_xplan</span><span style="color: gray">.</span><span style="color: blue">display</span><span style="color: olive">())</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: blue">PLAN_TABLE_OUTPUT</span><span style="color: gray"><br />
---------------------------------------------------------</span><span style="color: #ffa500">--<br />
Plan hash value: 1357081020</span><span style="color: gray"><br />
&nbsp;<br />
--------------------------------</span><span style="color: #ffa500">--<br />
| Id&nbsp; | Operation&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| Name |</span><span style="color: gray"><br />
--------------------------------</span><span style="color: #ffa500">--<br />
|&nbsp; &nbsp;0 | SELECT STATEMENT&nbsp; |&nbsp; &nbsp; &nbsp; |</span><span style="color: gray"><br />
|*&nbsp; </span><span style="color: maroon">1</span><span style="color: gray"> |&nbsp; </span><span style="color: green">TABLE</span><span style="color: gray"> </span><span style="color: blue">ACCESS</span><span style="color: gray"> </span><span style="color: green">FULL</span><span style="color: gray">| </span><span style="color: blue">TEST</span><span style="color: gray"> |<br />
--------------------------------------------------------------</span></div>
</div>
<p>RBO使用hint可以使用虚拟索引</p>
<div class="hl-surround">
<div class="hl-main"><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: blue">explain</span><span style="color: gray"> </span><span style="color: blue">plan</span><span style="color: gray"> </span><span style="color: green">for</span><span style="color: gray"> </span><span style="color: green">select</span><span style="color: gray"> </span><span style="color: #ffa500">/*+ index(test,ix_test)*/</span><span style="color: gray">* </span><span style="color: green">from</span><span style="color: gray"> </span><span style="color: blue">test</span><span style="color: gray"> </span><span style="color: green">where</span><span style="color: gray"> </span><span style="color: blue">id</span><span style="color: gray">=</span><span style="color: maroon">1</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: blue">Explained</span><span style="color: gray">.<br />
&nbsp;<br />
</span><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">select</span><span style="color: gray"> * </span><span style="color: green">from</span><span style="color: gray"> </span><span style="color: green">table</span><span style="color: olive">(</span><span style="color: blue">dbms_xplan</span><span style="color: gray">.</span><span style="color: blue">display</span><span style="color: olive">())</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: blue">PLAN_TABLE_OUTPUT</span><span style="color: gray"><br />
------------------------------------------------------------------------</span><span style="color: #ffa500">--<br />
Plan hash value: 166686173</span><span style="color: gray"><br />
&nbsp;<br />
-------------------------------------------------------------------------</span><span style="color: #ffa500">--<br />
| Id&nbsp; | Operation&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| Name&nbsp; &nbsp; | Rows&nbsp; | Bytes | Cost (%CPU)| Time&nbsp; &nbsp; &nbsp;|</span><span style="color: gray"><br />
-------------------------------------------------------------------------</span><span style="color: #ffa500">--<br />
|&nbsp; &nbsp;0 | SELECT STATEMENT&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;1 |&nbsp; &nbsp; 17 |&nbsp; &nbsp; &nbsp;2&nbsp; &nbsp;(0)| 00:00:01 |</span><span style="color: gray"><br />
|&nbsp; &nbsp;</span><span style="color: maroon">1</span><span style="color: gray"> |&nbsp; </span><span style="color: green">TABLE</span><span style="color: gray"> </span><span style="color: blue">ACCESS</span><span style="color: gray"> </span><span style="color: green">BY</span><span style="color: gray"> </span><span style="color: blue">INDEX</span><span style="color: gray"> </span><span style="color: blue">ROWID</span><span style="color: gray">| </span><span style="color: blue">TEST</span><span style="color: gray">&nbsp; &nbsp; |&nbsp; &nbsp; &nbsp;</span><span style="color: maroon">1</span><span style="color: gray"> |&nbsp; &nbsp; </span><span style="color: maroon">17</span><span style="color: gray"> |&nbsp; &nbsp; &nbsp;</span><span style="color: maroon">2</span><span style="color: gray">&nbsp; &nbsp;</span><span style="color: olive">(</span><span style="color: maroon">0</span><span style="color: olive">)</span><span style="color: gray">| </span><span style="color: maroon">00</span><span style="color: gray">:</span><span style="color: maroon">00</span><span style="color: gray">:</span><span style="color: maroon">01</span><span style="color: gray"> |<br />
|*&nbsp; </span><span style="color: maroon">2</span><span style="color: gray"> |&nbsp; &nbsp;</span><span style="color: blue">INDEX</span><span style="color: gray"> </span><span style="color: green">UNIQUE</span><span style="color: gray"> </span><span style="color: blue">SCAN</span><span style="color: gray">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| </span><span style="color: blue">IX_TEST</span><span style="color: gray"> |&nbsp; &nbsp; &nbsp;</span><span style="color: maroon">1</span><span style="color: gray"> |&nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;</span><span style="color: maroon">1</span><span style="color: gray">&nbsp; &nbsp;</span><span style="color: olive">(</span><span style="color: maroon">0</span><span style="color: olive">)</span><span style="color: gray">| </span><span style="color: maroon">00</span><span style="color: gray">:</span><span style="color: maroon">00</span><span style="color: gray">:</span><span style="color: maroon">01</span><span style="color: gray"> |<br />
----------------------------------------------------------------------------</span></div>
</div>
<p>3.虚拟索引的特性</p>
<p>无法执行alter index</p>
<div class="hl-surround">
<div class="hl-main"><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">alter</span><span style="color: gray"> </span><span style="color: blue">index</span><span style="color: gray"> </span><span style="color: blue">ix_test</span><span style="color: gray"> </span><span style="color: blue">rebuild</span><span style="color: gray">;<br />
</span><span style="color: green">alter</span><span style="color: gray"> </span><span style="color: blue">index</span><span style="color: gray"> </span><span style="color: blue">ix_test</span><span style="color: gray"> </span><span style="color: blue">rebuild</span><span style="color: gray"><br />
*<br />
</span><span style="color: blue">ERROR</span><span style="color: gray"> </span><span style="color: green">at</span><span style="color: gray"> </span><span style="color: blue">line</span><span style="color: gray"> </span><span style="color: maroon">1</span><span style="color: gray">:<br />
</span><span style="color: blue">ORA</span><span style="color: gray">-</span><span style="color: maroon">08114</span><span style="color: gray">: </span><span style="color: blue">can</span><span style="color: gray"> </span><span style="color: green">not</span><span style="color: gray"> </span><span style="color: green">alter</span><span style="color: gray"> </span><span style="color: blue">a</span><span style="color: gray"> </span><span style="color: blue">fake</span><span style="color: gray"> </span><span style="color: blue">index</span><span style="color: gray"><br />
&nbsp;<br />
</span><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">alter</span><span style="color: gray"> </span><span style="color: blue">index</span><span style="color: gray"> </span><span style="color: blue">ix_test</span><span style="color: gray"> </span><span style="color: blue">rename</span><span style="color: gray"> </span><span style="color: green">to</span><span style="color: gray"> </span><span style="color: blue">ix_test2</span><span style="color: gray">;<br />
</span><span style="color: green">alter</span><span style="color: gray"> </span><span style="color: blue">index</span><span style="color: gray"> </span><span style="color: blue">ix_test</span><span style="color: gray"> </span><span style="color: blue">rename</span><span style="color: gray"> </span><span style="color: green">to</span><span style="color: gray"> </span><span style="color: blue">ix_test2</span><span style="color: gray"><br />
*<br />
</span><span style="color: blue">ERROR</span><span style="color: gray"> </span><span style="color: green">at</span><span style="color: gray"> </span><span style="color: blue">line</span><span style="color: gray"> </span><span style="color: maroon">1</span><span style="color: gray">:<br />
</span><span style="color: blue">ORA</span><span style="color: gray">-</span><span style="color: maroon">08114</span><span style="color: gray">: </span><span style="color: blue">can</span><span style="color: gray"> </span><span style="color: green">not</span><span style="color: gray"> </span><span style="color: green">alter</span><span style="color: gray"> </span><span style="color: blue">a</span><span style="color: gray"> </span><span style="color: blue">fake</span><span style="color: gray"> </span><span style="color: blue">index</span></div>
</div>
<p>不能创建和虚拟索引同名的实际索引</p>
<div class="hl-surround">
<div class="hl-main"><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">create</span><span style="color: gray"> </span><span style="color: blue">index</span><span style="color: gray"> </span><span style="color: blue">ix_test</span><span style="color: gray"> </span><span style="color: green">on</span><span style="color: gray"> </span><span style="color: blue">test</span><span style="color: olive">(</span><span style="color: #00008b">name</span><span style="color: olive">)</span><span style="color: gray">;<br />
</span><span style="color: green">create</span><span style="color: gray"> </span><span style="color: blue">index</span><span style="color: gray"> </span><span style="color: blue">ix_test</span><span style="color: gray"> </span><span style="color: green">on</span><span style="color: gray"> </span><span style="color: blue">test</span><span style="color: olive">(</span><span style="color: #00008b">name</span><span style="color: olive">)</span><span style="color: gray"><br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *<br />
</span><span style="color: blue">ERROR</span><span style="color: gray"> </span><span style="color: green">at</span><span style="color: gray"> </span><span style="color: blue">line</span><span style="color: gray"> </span><span style="color: maroon">1</span><span style="color: gray">:<br />
</span><span style="color: blue">ORA</span><span style="color: gray">-</span><span style="color: maroon">00955</span><span style="color: gray">: </span><span style="color: #00008b">name</span><span style="color: gray"> </span><span style="color: green">is</span><span style="color: gray"> </span><span style="color: blue">already</span><span style="color: gray"> </span><span style="color: blue">used</span><span style="color: gray"> </span><span style="color: green">by</span><span style="color: gray"> </span><span style="color: blue">an</span><span style="color: gray"> </span><span style="color: #00008b">existing</span><span style="color: gray"> </span><span style="color: green">object</span></div>
</div>
<p>可以创建和虚拟索引包含相同列但不同名的实际索引</p>
<div class="hl-surround">
<div class="hl-main"><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">create</span><span style="color: gray"> </span><span style="color: blue">index</span><span style="color: gray"> </span><span style="color: blue">ix_test2</span><span style="color: gray"> </span><span style="color: green">on</span><span style="color: gray"> </span><span style="color: blue">test</span><span style="color: olive">(</span><span style="color: blue">id</span><span style="color: olive">)</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: blue">Index</span><span style="color: gray"> </span><span style="color: blue">created</span><span style="color: gray">.</span></div>
</div>
<p>在10g使用回收站特性的时候，虚拟索引必须显式drop，或者在drop table后purge table后，才能创建同名的索引</p>
<div class="hl-surround">
<div class="hl-main"><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">drop</span><span style="color: gray"> </span><span style="color: green">table</span><span style="color: gray"> </span><span style="color: blue">test</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: green">Table</span><span style="color: gray"> </span><span style="color: blue">dropped</span><span style="color: gray">.<br />
&nbsp;<br />
</span><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">create</span><span style="color: gray"> </span><span style="color: green">unique</span><span style="color: gray"> </span><span style="color: blue">index</span><span style="color: gray"> </span><span style="color: blue">ix_test</span><span style="color: gray"> </span><span style="color: green">on</span><span style="color: gray"> </span><span style="color: blue">test2</span><span style="color: olive">(</span><span style="color: blue">id</span><span style="color: olive">)</span><span style="color: gray">;<br />
</span><span style="color: green">create</span><span style="color: gray"> </span><span style="color: green">unique</span><span style="color: gray"> </span><span style="color: blue">index</span><span style="color: gray"> </span><span style="color: blue">ix_test</span><span style="color: gray"> </span><span style="color: green">on</span><span style="color: gray"> </span><span style="color: blue">test2</span><span style="color: olive">(</span><span style="color: blue">id</span><span style="color: olive">)</span><span style="color: gray"><br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;*<br />
</span><span style="color: blue">ERROR</span><span style="color: gray"> </span><span style="color: green">at</span><span style="color: gray"> </span><span style="color: blue">line</span><span style="color: gray"> </span><span style="color: maroon">1</span><span style="color: gray">:<br />
</span><span style="color: blue">ORA</span><span style="color: gray">-</span><span style="color: maroon">00955</span><span style="color: gray">: </span><span style="color: #00008b">name</span><span style="color: gray"> </span><span style="color: green">is</span><span style="color: gray"> </span><span style="color: blue">already</span><span style="color: gray"> </span><span style="color: blue">used</span><span style="color: gray"> </span><span style="color: green">by</span><span style="color: gray"> </span><span style="color: blue">an</span><span style="color: gray"> </span><span style="color: #00008b">existing</span><span style="color: gray"> </span><span style="color: green">object</span><span style="color: gray"><br />
&nbsp;<br />
</span><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">drop</span><span style="color: gray"> </span><span style="color: blue">index</span><span style="color: gray"> </span><span style="color: blue">ix_test</span><span style="color: gray">;<br />
</span><span style="color: green">drop</span><span style="color: gray"> </span><span style="color: blue">index</span><span style="color: gray"> </span><span style="color: blue">ix_test</span><span style="color: gray"><br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *<br />
</span><span style="color: blue">ERROR</span><span style="color: gray"> </span><span style="color: green">at</span><span style="color: gray"> </span><span style="color: blue">line</span><span style="color: gray"> </span><span style="color: maroon">1</span><span style="color: gray">:<br />
</span><span style="color: blue">ORA</span><span style="color: gray">-</span><span style="color: maroon">38301</span><span style="color: gray">: </span><span style="color: blue">can</span><span style="color: gray"> </span><span style="color: green">not</span><span style="color: gray"> </span><span style="color: blue">perform</span><span style="color: gray"> </span><span style="color: blue">DDL</span><span style="color: gray">/</span><span style="color: blue">DML</span><span style="color: gray"> </span><span style="color: blue">over</span><span style="color: gray"> </span><span style="color: blue">objects</span><span style="color: gray"> </span><span style="color: green">in</span><span style="color: gray"> </span><span style="color: blue">Recycle</span><span style="color: gray"> </span><span style="color: blue">Bin</span><span style="color: gray"><br />
&nbsp;<br />
</span><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: blue">purge</span><span style="color: gray"> </span><span style="color: green">table</span><span style="color: gray"> </span><span style="color: blue">test</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: green">Table</span><span style="color: gray"> </span><span style="color: blue">purged</span><span style="color: gray">.<br />
&nbsp;<br />
</span><span style="color: blue">NING</span><span style="color: gray">@</span><span style="color: blue">ning</span><span style="color: gray">&gt;</span><span style="color: green">create</span><span style="color: gray"> </span><span style="color: green">unique</span><span style="color: gray"> </span><span style="color: blue">index</span><span style="color: gray"> </span><span style="color: blue">ix_test</span><span style="color: gray"> </span><span style="color: green">on</span><span style="color: gray"> </span><span style="color: blue">test2</span><span style="color: olive">(</span><span style="color: blue">id</span><span style="color: olive">)</span><span style="color: gray">;<br />
&nbsp;<br />
</span><span style="color: blue">Index</span><span style="color: gray"> </span><span style="color: blue">created</span><span style="color: gray">.</span></div>
</div>
<p>查找系统中已经存在的虚拟索引：</p>
<div class="hl-surround">
<div class="hl-main"><span style="color: green">SELECT</span><span style="color: gray"> </span><span style="color: blue">index_owner</span><span style="color: gray">, </span><span style="color: blue">index_name</span><span style="color: gray">&nbsp; <br />
</span><span style="color: green">FROM</span><span style="color: gray"> </span><span style="color: blue">dba_ind_columns</span><span style="color: gray"><br />
</span><span style="color: green">WHERE</span><span style="color: gray"> </span><span style="color: blue">index_name</span><span style="color: gray"> </span><span style="color: green">NOT</span><span style="color: gray"> </span><span style="color: green">LIKE</span><span style="color: gray"> </span><span style="color: #8b0000">'</span><span style="color: red">BIN$%</span><span style="color: #8b0000">'</span><span style="color: gray"> <br />
</span><span style="color: blue">MINUS</span><span style="color: gray"><br />
</span><span style="color: green">SELECT</span><span style="color: gray"> </span><span style="color: blue">owner</span><span style="color: gray">, </span><span style="color: blue">index_name</span><span style="color: gray"> <br />
</span><span style="color: green">FROM</span><span style="color: gray"> </span><span style="color: blue">dba_indexes</span><span style="color: gray">;</span></div>
</div>
<p>虚拟索引分析并且有效，但是数据字典里查不到结果，估计是oracle内部临时保存了分析结果</p>
<img src ="http://www.blogjava.net/supercrsky/aggbug/197026.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2008-04-29 10:20 <a href="http://www.blogjava.net/supercrsky/articles/197026.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>存储过程练习</title><link>http://www.blogjava.net/supercrsky/articles/191767.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Thu, 10 Apr 2008 02:11:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/191767.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/191767.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/191767.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/191767.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/191767.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;">
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">insert</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">into</span><span style="color: #000000;">&nbsp;person&nbsp;</span><span style="color: #0000ff;">values</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;">,</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">zdw</span><span style="color: #ff0000;">'</span><span style="color: #000000;">,</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">zdw</span><span style="color: #ff0000;">'</span><span style="color: #000000;">,</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">test1</span><span style="color: #ff0000;">'</span><span style="color: #000000;">)<br />
</span><span style="color: #0000ff;">insert</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">into</span><span style="color: #000000;">&nbsp;person&nbsp;</span><span style="color: #0000ff;">values</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">2</span><span style="color: #000000;">,</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">test</span><span style="color: #ff0000;">'</span><span style="color: #000000;">,</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">test</span><span style="color: #ff0000;">'</span><span style="color: #000000;">,</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">test2</span><span style="color: #ff0000;">'</span><span style="color: #000000;">)<br />
</span><span style="color: #0000ff;">insert</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">into</span><span style="color: #000000;">&nbsp;person&nbsp;</span><span style="color: #0000ff;">values</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">3</span><span style="color: #000000;">,</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">admin</span><span style="color: #ff0000;">'</span><span style="color: #000000;">,</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">admin</span><span style="color: #ff0000;">'</span><span style="color: #000000;">,</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">admin3</span><span style="color: #ff0000;">'</span><span style="color: #000000;">)<br />
</span><span style="color: #008080;">/*</span><span style="color: #008080;">在存储过程中使用子查询</span><span style="color: #008080;">*/</span><span style="color: #000000;"><br />
<br />
</span><span style="color: #0000ff;">create</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">procedure</span><span style="color: #000000;">&nbsp;person_sub_query<br />
(<br />
&nbsp;</span><span style="color: #008000;">@id</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000; font-weight: bold;">int</span><span style="color: #000000;"><br />
)<br />
</span><span style="color: #0000ff;">as</span><span style="color: #000000;"><br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">select</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">from</span><span style="color: #000000;">&nbsp;person&nbsp;</span><span style="color: #0000ff;">where</span><span style="color: #000000;">&nbsp;id&nbsp;</span><span style="color: #808080;">&lt;</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">select</span><span style="color: #000000;">&nbsp;</span><span style="color: #ff00ff;">count</span><span style="color: #000000;">(</span><span style="color: #808080;">*</span><span style="color: #000000;">)&nbsp;</span><span style="color: #0000ff;">from</span><span style="color: #000000;">&nbsp;person)<br />
</span><span style="color: #0000ff;">go</span><span style="color: #000000;"><br />
<br />
<br />
</span><span style="color: #0000ff;">execute</span><span style="color: #000000;">&nbsp;person_sub_query&nbsp;</span><span style="color: #800000; font-weight: bold;">2</span><span style="color: #000000;"><br />
<br />
</span><span style="color: #008080;">/*</span><span style="color: #008080;">在存储过程中修改参数值，使用多个查询语句：</span><span style="color: #008080;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">create</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">procedure</span><span style="color: #000000;">&nbsp;person_multi_query<br />
(<br />
&nbsp;</span><span style="color: #008000;">@id</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000; font-weight: bold;">int</span><span style="color: #000000;"><br />
)<br />
</span><span style="color: #0000ff;">as</span><span style="color: #000000;"><br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">select</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">@id</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">select</span><span style="color: #000000;">&nbsp;</span><span style="color: #ff00ff;">count</span><span style="color: #000000;">(</span><span style="color: #808080;">*</span><span style="color: #000000;">)&nbsp;</span><span style="color: #0000ff;">from</span><span style="color: #000000;">&nbsp;person&nbsp;</span><span style="color: #0000ff;">where</span><span style="color: #000000;">&nbsp;id&nbsp;</span><span style="color: #808080;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">@id</span><span style="color: #000000;">)<br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">select</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">@id</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">@id</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">-</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;"><br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">select</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">from</span><span style="color: #000000;">&nbsp;person&nbsp;</span><span style="color: #0000ff;">where</span><span style="color: #000000;">&nbsp;id&nbsp;</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">@id</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">go</span><span style="color: #000000;"><br />
<br />
</span><span style="color: #0000ff;">execute</span><span style="color: #000000;">&nbsp;person_multi_query&nbsp;</span><span style="color: #800000; font-weight: bold;">1</span></div>
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">/*</span><span style="color: #008080;">创建表</span><span style="color: #008080;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">create</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">table</span><span style="color: #000000;">&nbsp;person<br />
(<br />
&nbsp;&nbsp;id&nbsp;</span><span style="color: #000000; font-weight: bold;">int</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">primary</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">key</span><span style="color: #000000;">,<br />
&nbsp;&nbsp;username&nbsp;</span><span style="color: #000000; font-weight: bold;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">50</span><span style="color: #000000;">)&nbsp;</span><span style="color: #808080;">not</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">,<br />
&nbsp;&nbsp;password&nbsp;</span><span style="color: #000000; font-weight: bold;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">20</span><span style="color: #000000;">)&nbsp;</span><span style="color: #808080;">not</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">,<br />
&nbsp;&nbsp;address&nbsp;</span><span style="color: #000000; font-weight: bold;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">200</span><span style="color: #000000;">)&nbsp;</span><span style="color: #808080;">not</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;"><br />
)<br />
</span><span style="color: #008080;">/*</span><span style="color: #008080;">增加一条记录的存储过程</span><span style="color: #008080;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">create</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">procedure</span><span style="color: #000000;">&nbsp;proc_person<br />
(<br />
&nbsp;&nbsp;</span><span style="color: #008000;">@id</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000; font-weight: bold;">int</span><span style="color: #000000;">&nbsp;,<br />
&nbsp;&nbsp;</span><span style="color: #008000;">@username</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000; font-weight: bold;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">50</span><span style="color: #000000;">),<br />
&nbsp;&nbsp;</span><span style="color: #008000;">@password</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000; font-weight: bold;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">20</span><span style="color: #000000;">),<br />
&nbsp;&nbsp;</span><span style="color: #008000;">@address</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000; font-weight: bold;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">200</span><span style="color: #000000;">)&nbsp;<br />
)<br />
</span><span style="color: #0000ff;">as</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">insert</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">into</span><span style="color: #000000;">&nbsp;person(id,username,password,address)&nbsp;</span><span style="color: #0000ff;">values</span><span style="color: #000000;">(</span><span style="color: #008000;">@id</span><span style="color: #000000;">,</span><span style="color: #008000;">@username</span><span style="color: #000000;">,</span><span style="color: #008000;">@password</span><span style="color: #000000;">,</span><span style="color: #008000;">@address</span><span style="color: #000000;">)<br />
<br />
</span><span style="color: #0000ff;">go</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">/*</span><span style="color: #008080;">传值顺序是你声明变量时的顺序</span><span style="color: #008080;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">exec</span><span style="color: #000000;">&nbsp;proc_person&nbsp;</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;">,</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">admin</span><span style="color: #ff0000;">'</span><span style="color: #000000;">,</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">admin</span><span style="color: #ff0000;">'</span><span style="color: #000000;">,</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">bj</span><span style="color: #ff0000;">'</span><span style="color: #000000;"><br />
<br />
</span><span style="color: #0000ff;">select</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">from</span><span style="color: #000000;">&nbsp;person;<br />
<br />
</span><span style="color: #008080;">/*</span><span style="color: #008080;">修改数据的存储过程</span><span style="color: #008080;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">create</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">procedure</span><span style="color: #000000;">&nbsp;proc_person_update<br />
(<br />
&nbsp;</span><span style="color: #008000;">@id</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000; font-weight: bold;">int</span><span style="color: #000000;">,<br />
&nbsp;</span><span style="color: #008000;">@username</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000; font-weight: bold;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">50</span><span style="color: #000000;">),<br />
&nbsp;</span><span style="color: #008000;">@password</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000; font-weight: bold;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">50</span><span style="color: #000000;">)<br />
)<br />
</span><span style="color: #0000ff;">as</span><span style="color: #000000;"><br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">update</span><span style="color: #000000;">&nbsp;person&nbsp;</span><span style="color: #0000ff;">set</span><span style="color: #000000;">&nbsp;username</span><span style="color: #808080;">=</span><span style="color: #008000;">@username</span><span style="color: #000000;">&nbsp;,&nbsp;password</span><span style="color: #808080;">=</span><span style="color: #008000;">@password</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">where</span><span style="color: #000000;">&nbsp;id</span><span style="color: #808080;">=</span><span style="color: #008000;">@id</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">go</span><span style="color: #000000;"><br />
<br />
</span><span style="color: #0000ff;">execute</span><span style="color: #000000;">&nbsp;proc_person_update&nbsp;</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;">,</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">test</span><span style="color: #ff0000;">'</span><span style="color: #000000;">,</span><span style="color: #ff0000;">'</span><span style="color: #ff0000;">test</span><span style="color: #ff0000;">'</span><span style="color: #000000;"><br />
<br />
</span><span style="color: #0000ff;">select</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">from</span><span style="color: #000000;">&nbsp;person<br />
<br />
</span><span style="color: #008080;">/*</span><span style="color: #008080;">删除数据的存储过程</span><span style="color: #008080;">*/</span><span style="color: #000000;"><br />
<br />
</span><span style="color: #0000ff;">create</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">procedure</span><span style="color: #000000;">&nbsp;proc_person_del<br />
(<br />
&nbsp;</span><span style="color: #008000;">@id</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000; font-weight: bold;">int</span><span style="color: #000000;"><br />
)<br />
</span><span style="color: #0000ff;">as</span><span style="color: #000000;"><br />
&nbsp;&nbsp;</span><span style="color: #0000ff;">delete</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">from</span><span style="color: #000000;">&nbsp;person&nbsp;</span><span style="color: #0000ff;">where</span><span style="color: #000000;">&nbsp;id&nbsp;</span><span style="color: #808080;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #008000;">@id</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">go</span><span style="color: #000000;"><br />
<br />
</span><span style="color: #0000ff;">execute</span><span style="color: #000000;">&nbsp;proc_person_del&nbsp;</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;"><br />
<br />
</span><span style="color: #0000ff;">select</span><span style="color: #000000;">&nbsp;</span><span style="color: #808080;">*</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">from</span><span style="color: #000000;">&nbsp;person<br />
<br />
<br />
</span></div>
<img src ="http://www.blogjava.net/supercrsky/aggbug/191767.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2008-04-10 10:11 <a href="http://www.blogjava.net/supercrsky/articles/191767.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常用数据库 取前几条数据 sql写法</title><link>http://www.blogjava.net/supercrsky/articles/169991.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Mon, 24 Dec 2007 03:20:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/169991.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/169991.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/169991.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/169991.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/169991.html</trackback:ping><description><![CDATA[<span style="font-size: 14pt; color: red; font-family: Comic Sans MS"><br />
如在ms sqlserver 用此语句：<br />
select top 2 * from test01 就会只显示前2条记录，<br />
<br />
MYSQL<br />
<br />
select * from your_table where .... limit 2;<br />
//使用limit就可以了.<br />
<br />
Oracle的语句:<br />
select * from (select rownum r ,* from test) tt<br />
where tt.r &gt; 50 and tt.r &lt;= 100; (最好用PLSQL游标来解决)<br />
<br />
DB2中：<br />
select * from payment fetch first 5 row only --查前5条记录 </span>
<img src ="http://www.blogjava.net/supercrsky/aggbug/169991.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2007-12-24 11:20 <a href="http://www.blogjava.net/supercrsky/articles/169991.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Mysql5.0存储过程初探</title><link>http://www.blogjava.net/supercrsky/articles/162771.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Fri, 23 Nov 2007 23:51:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/162771.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/162771.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/162771.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/162771.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/162771.html</trackback:ping><description><![CDATA[<p><span style="font-weight: bold">一.创建存储过程</span><br />
</p>
1.基本语法：<br />
<div style="margin-left: 40px">create procedure sp_name()<br />
begin<br />
.........<br />
end<br />
</div>
2.参数传递<br />
<p><span style="font-weight: bold">二.调用存储过程</span><br />
<div style="margin-left: 40px">1.基本语法：call sp_name()<br />
注意：存储过程名称后面必须加括号，哪怕该存储过程没有参数传递<br />
</div>
<p><span style="font-weight: bold">三.删除存储过程</span><br />
<div style="margin-left: 40px">1.基本语法：<br />
drop procedure sp_name//<br />
2.注意事项<br />
(1)不能在一个存储过程中删除另一个存储过程，只能调用另一个存储过程<br />
</div>
<p><span style="font-weight: bold">四.区块，条件，循环<br />
</span>
<div style="margin-left: 40px">1.区块定义，常用<br />
begin<br />
......<br />
end;<br />
也可以给区块起别名，如：<br />
lable:begin<br />
...........<br />
end lable;<br />
可以用leave lable;跳出区块，执行区块以后的代码<br />
2.条件语句<br />
<div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt; background: rgb(230,230,230) 0% 50%; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 95%; padding-top: 4px; border-bottom: windowtext 0.5pt solid">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: rgb(0,0,255)">if</span><span style="color: rgb(0,0,0)"> 条件 </span><span style="color: rgb(0,0,255)">then</span><span style="color: rgb(0,0,0)"><br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" />statement<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: rgb(0,0,255)">else</span><span style="color: rgb(0,0,0)"><br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" />statement<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: rgb(0,0,255)">end</span><span style="color: rgb(0,0,0)"> </span><span style="color: rgb(0,0,255)">if</span><span style="color: rgb(0,0,0)">;</span></div>
</div>
<br />
3.循环语句<br />
(1).while循环<br />
<div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt; background: rgb(230,230,230) 0% 50%; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 95%; padding-top: 4px; border-bottom: windowtext 0.5pt solid">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: rgb(255,0,0)">[</span><span style="color: rgb(255,0,0)">label:</span><span style="color: rgb(255,0,0)">]</span><span style="color: rgb(0,0,0)"> </span><span style="color: rgb(0,0,255)">WHILE</span><span style="color: rgb(0,0,0)"> expression DO<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" />statements<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: rgb(0,0,255)">END</span><span style="color: rgb(0,0,0)"> </span><span style="color: rgb(0,0,255)">WHILE</span><span style="color: rgb(0,0,0)"> </span><span style="color: rgb(255,0,0)">[</span><span style="color: rgb(255,0,0)">label</span><span style="color: rgb(255,0,0)">]</span><span style="color: rgb(0,0,0)"> ;<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
</div>
<br />
</div>
<div style="margin-left: 40px">(2).loop循环<br />
<div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt; background: rgb(230,230,230) 0% 50%; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 95%; padding-top: 4px; border-bottom: windowtext 0.5pt solid">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: rgb(255,0,0)">[</span><span style="color: rgb(255,0,0)">label:</span><span style="color: rgb(255,0,0)">]</span><span style="color: rgb(0,0,0)"> LOOP<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" />statements<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: rgb(0,0,255)">END</span><span style="color: rgb(0,0,0)"> LOOP </span><span style="color: rgb(255,0,0)">[</span><span style="color: rgb(255,0,0)">label</span><span style="color: rgb(255,0,0)">]</span><span style="color: rgb(0,0,0)">;</span></div>
</div>
<br />
</div>
<div style="margin-left: 40px">(3).repeat until循环<br />
<div style="border-right: windowtext 0.5pt solid; padding-right: 5.4pt; border-top: windowtext 0.5pt solid; padding-left: 5.4pt; background: rgb(230,230,230) 0% 50%; padding-bottom: 4px; border-left: windowtext 0.5pt solid; width: 95%; padding-top: 4px; border-bottom: windowtext 0.5pt solid">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: rgb(255,0,0)">[</span><span style="color: rgb(255,0,0)">label:</span><span style="color: rgb(255,0,0)">]</span><span style="color: rgb(0,0,0)"> REPEAT<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" />statements<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" />UNTIL expression<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: rgb(0,0,255)">END</span><span style="color: rgb(0,0,0)"> REPEAT </span><span style="color: rgb(255,0,0)">[</span><span style="color: rgb(255,0,0)">label</span><span style="color: rgb(255,0,0)">]</span><span style="color: rgb(0,0,0)"> ;</span></div>
</div>
</div>
<img src ="http://www.blogjava.net/supercrsky/aggbug/162771.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2007-11-24 07:51 <a href="http://www.blogjava.net/supercrsky/articles/162771.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决Mysql乱码问题</title><link>http://www.blogjava.net/supercrsky/articles/162740.html</link><dc:creator>々上善若水々</dc:creator><author>々上善若水々</author><pubDate>Fri, 23 Nov 2007 14:38:00 GMT</pubDate><guid>http://www.blogjava.net/supercrsky/articles/162740.html</guid><wfw:comment>http://www.blogjava.net/supercrsky/comments/162740.html</wfw:comment><comments>http://www.blogjava.net/supercrsky/articles/162740.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/supercrsky/comments/commentRss/162740.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/supercrsky/services/trackbacks/162740.html</trackback:ping><description><![CDATA[<span style="font-family: Comic Sans MS">修改mysql安装目录下的my.ini文件. 打开找到这一行:<br />
</span>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="font-family: Comic Sans MS"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000"><span style="font-family: Comic Sans MS">&nbsp;#&nbsp;The&nbsp;following&nbsp;options&nbsp;will&nbsp;be&nbsp;read&nbsp;by&nbsp;MySQL&nbsp;client&nbsp;applications.<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;#&nbsp;Note&nbsp;that&nbsp;only&nbsp;client&nbsp;applications&nbsp;shipped&nbsp;by&nbsp;MySQL&nbsp;are&nbsp;guaranteed<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;#&nbsp;to&nbsp;read&nbsp;this&nbsp;section.&nbsp;If&nbsp;you&nbsp;want&nbsp;your&nbsp;own&nbsp;MySQL&nbsp;client&nbsp;program&nbsp;to<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;#&nbsp;honor&nbsp;these&nbsp;values,&nbsp;you&nbsp;need&nbsp;to&nbsp;specify&nbsp;it&nbsp;as&nbsp;an&nbsp;option&nbsp;during&nbsp;the&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />#&nbsp;MySQL&nbsp;client&nbsp;library&nbsp;initialization.&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />#&nbsp;[mysql]&nbsp;default-character-set=gbk&nbsp;mysql</span></span></div>
<br />
<span style="font-family: Comic Sans MS">客户端字符集把字符集改成gbk. <br />
再找到这一行: <br />
</span>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="font-family: Comic Sans MS"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000"><span style="font-family: Comic Sans MS">#&nbsp;The&nbsp;default&nbsp;character&nbsp;set&nbsp;that&nbsp;will&nbsp;be&nbsp;used&nbsp;when&nbsp;a&nbsp;new&nbsp;schema&nbsp;or&nbsp;table&nbsp;is<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;#&nbsp;created&nbsp;and&nbsp;no&nbsp;character&nbsp;set&nbsp;is&nbsp;defined&nbsp;default-character-set=utf8&nbsp;</span></span></div>
<br />
<span style="font-family: Comic Sans MS">这个是创建数据库或表时的默认字符集,用utf8处理国际化 <br />
对于以前已经创建好的非gbk字符的数据库,在mysql的安装下<br />
的data目录下,找到你建的相应数据库,进去后找到db.opt文件<br />
用记事本打开,内容改成下面的即可. <br />
default-character-set=utf8 default-collation=utf8 最好用utf8,<br />
因为gbk在处理国际化的时候依然会乱码. 最后一种方法,<br />
你可能临时需要设定字符编码,而又不想改配置文件. <br />
那在执行创建脚本前,加入set names gbk(或utf8)即可. <br />
比如: set names utf8; create table user(略); </span>
<img src ="http://www.blogjava.net/supercrsky/aggbug/162740.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/supercrsky/" target="_blank">々上善若水々</a> 2007-11-23 22:38 <a href="http://www.blogjava.net/supercrsky/articles/162740.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>