﻿<?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/ldwblog/category/41226.html</link><description>态度决定一切</description><language>zh-cn</language><lastBuildDate>Tue, 07 Jan 2020 10:49:46 GMT</lastBuildDate><pubDate>Tue, 07 Jan 2020 10:49:46 GMT</pubDate><ttl>60</ttl><item><title>个人公众号「Java爱好者社区」高质量原创文章持续输出，欢迎各位小主关注</title><link>http://www.blogjava.net/ldwblog/archive/2019/10/30/434887.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Wed, 30 Oct 2019 06:10:00 GMT</pubDate><guid>http://www.blogjava.net/ldwblog/archive/2019/10/30/434887.html</guid><wfw:comment>http://www.blogjava.net/ldwblog/comments/434887.html</wfw:comment><comments>http://www.blogjava.net/ldwblog/archive/2019/10/30/434887.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ldwblog/comments/commentRss/434887.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldwblog/services/trackbacks/434887.html</trackback:ping><description><![CDATA[blogjava网站与博客园合并了，对blogjava还是有感情的。<br />并且blogjava网站发布的文章是在博客园首页看不到的。<br />blogjava网站首页能看到，你可以点击标题进入可以看到图片二维码信息。<br /><br /><strong style="color: red; font-size: 14pt;">Java爱好者社区</strong><br />公众号内容简介：<br /><p><span style="background-color: yellow; color: red;">专注于分享Java后端相关技术、老司机实战干货，不限于JVM、并发、设计模式、性能优化、分布式&amp;微服务、云原生、大数据相关主题。</span><br style="color: red;" /><span style="background-color: yellow; color: red;">希望关注的你停下脚步，定有所收获。</span><br style="color: red;" /><br />以前的个人博客内容不好迁移，所以我打算根据自己的多年经验，不断整理输出有价值的内容。<br />目前公众号内容有关于<span style="background-color: yellow; color: red;">SpringCloud（微服务框架）、Skywalking（APM监控调用链）、JVM（GC分析、内存泄漏分析）、并发编程</span>相关原创实战文章已出炉。<br /><br />最近刚开始已经有不少小伙伴关注了，期待能有幸搜索到本博客的同学，可以扫码关注一下，不胜感激。<br />大家有任何技术、职场、面试上的问题都可以与我交流。<br /><br /><span style="background-color: yellow;"><strong>方式一：</strong></span><span style="color: red; background-color: yellow;"><strong>扫码以下公众号二维码：</strong></span><br /><img src="http://www.blogjava.net/images/blogjava_net/ldwblog/Java%E7%88%B1%E5%A5%BD%E8%80%85%E7%A4%BE%E5%8C%BA%E4%BA%8C%E7%BB%B4%E7%A0%81.png" border="0" alt="" /><br /><br />方式二：<span style="color: red;">在微信上直接搜索：&nbsp;</span><span style="color: red; background-color: yellow;">javatech_cbo</span><br /><br />感谢各位小伙伴的支持，后续会在该公众号上输出大量的有价值的实战干货 ，期待与你一同进步与成长。<br /></p><img src ="http://www.blogjava.net/ldwblog/aggbug/434887.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldwblog/" target="_blank">David1228</a> 2019-10-30 14:10 <a href="http://www.blogjava.net/ldwblog/archive/2019/10/30/434887.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>源码包安装、配置Mysql 和 rpm包安装、配置及卸载Mysql流程    </title><link>http://www.blogjava.net/ldwblog/archive/2012/10/11/389394.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Thu, 11 Oct 2012 07:21:00 GMT</pubDate><guid>http://www.blogjava.net/ldwblog/archive/2012/10/11/389394.html</guid><wfw:comment>http://www.blogjava.net/ldwblog/comments/389394.html</wfw:comment><comments>http://www.blogjava.net/ldwblog/archive/2012/10/11/389394.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ldwblog/comments/commentRss/389394.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldwblog/services/trackbacks/389394.html</trackback:ping><description><![CDATA[<span style="color: #0000ff; ">通过源码包安装、配置Mysql详细步骤：</span><br /><p style="margin-left:21.0pt"><span style="font-size:12.0pt">1</span><span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">、上传</span><span style="font-size:12.0pt">mysql-5.5.8-linux2.6-x86_64.tar.gz</span><span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">到</span><span style="font-size:12.0pt">Web</span><span style="font-size:12.0pt;font-family: 宋体;Times New Roman&quot;;Times New Roman&quot;">服务器的</span><span style="font-size:12.0pt">/usr/local/</span><span style="font-size: 12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">目录下</span></p>  <p style="margin-left:21.0pt"><span style="font-size:12.0pt">2</span><span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">、解压并重命名</span></p>  <table border="0" cellspacing="0" cellpadding="0" width="473" style="margin-left:62.1pt;background:#C4BC96;border-collapse:collapse;">  <tbody><tr>   <td width="473" valign="top" style="width:354.4pt;padding:0cm 5.4pt 0cm 5.4pt">   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong># cd /usr/local</strong></p>   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong># tar &#8211;xvzf   mysql-5.5.8-linux2.6-x86_64.tar.gz</strong></p>   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong># mv   mysql-5.5.8-linux2.6-x86_64 mysql</strong></p>   </td>  </tr> </tbody></table>  <p style="margin-left:21.0pt"><span style="font-size:12.0pt">3</span><span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">、配置</span><span style="font-size:12.0pt">/etc/my.cnf</span></p>  <p style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:21.0pt;text-indent:21.0pt; line-height:75%"><span style="line-height: 75%">1</span><span style="line-height:75%;font-family: 宋体;">）安装操作系统时如果安装了</span><span style="line-height:75%">MySql</span><span style="line-height:75%;font-family:宋体;">就会生成</span><span style="line-height:75%">/etc/my.cnf</span><span style="line-height:75%;font-family:宋体;">，而系统自带的</span><span style="line-height:75%">MySql</span><span style="line-height:75%;font-family:宋体;">版本较低，所以替换已有的</span><span style="line-height:75%">/etc/my.cnf</span><span style="line-height:75%;font-family:宋体;">，替换之前可以备份</span><span style="line-height:75%">my.cnf</span></p>  <table border="0" cellspacing="0" cellpadding="0" width="473" style="margin-left:62.1pt;background:#C4BC96;border-collapse:collapse;">  <tbody><tr>   <td width="473" valign="top" style="width:354.4pt;padding:0cm 5.4pt 0cm 5.4pt">   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong>#mv   /etc/my.cnf&nbsp; /etc/my.cnf_bak</strong></p>   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong># cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf</strong></p>   </td>  </tr> </tbody></table>  <p style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:21.0pt;text-indent:21.0pt; line-height:75%"><span style="line-height: 75%">2</span><span style="line-height:75%;font-family: 宋体;">）编辑</span><span style="line-height:75%">/etc/my.cnf</span><span style="line-height:75%;font-family:宋体;">，配置</span><span style="line-height:75%">IP</span><span style="line-height:75%;font-family:宋体;">连接，在</span><span style="line-height:75%">mysqld</span><span style="line-height:75%;font-family:宋体;">中加入下边的红色字体</span></p>  <table border="0" cellspacing="0" cellpadding="0" width="473" style="margin-left:62.1pt;background:#C4BC96;border-collapse:collapse;">  <tbody><tr>   <td width="473" valign="top" style="width:354.4pt;padding:0cm 5.4pt 0cm 5.4pt">   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong>#vi /etc/my.cnf</strong></p>   <p style="margin-left:21.0pt;   text-indent:5.25pt;">[mysqld]</p>   <p style="margin-left:21.0pt;   text-indent:5.25pt;">port&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 3306</p>   <p style="margin-left:21.0pt;   text-indent:5.25pt;">socket&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = /tmp/mysql.sock</p>   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><span style="color:red">skip-name-resolve</span></p>   <p style="margin-left:21.0pt;   text-indent:5.25pt;">skip-external-locking<strong></strong></p>   </td>  </tr> </tbody></table>  <p style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:21.0pt;text-indent:21.0pt; line-height:75%"><span style="line-height: 75%">3</span><span style="line-height:75%;font-family: 宋体;">）保存，退出。</span></p>  <p style="margin-left:21.0pt"><span style="font-size:12.0pt">4</span><span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;">、添加</span><span style="font-size:12.0pt">mysql</span><span style="font-size:12.0pt;font-family: 宋体;Times New Roman&quot;;Times New Roman&quot;">用户和用户组</span></p>  <p style="margin-left:63.0pt;text-indent:21.0pt"><span style="font-family:宋体;">如果系统已经安装了</span>mysql<span style="font-family:宋体;">，则在添加</span>mysql<span style="font-family:宋体;">用户和用户组的时候会提示</span>mysql<span style="font-family:宋体;">用户（或用户组）已经存在，这种提示是正常的。</span></p>  <table border="0" cellspacing="0" cellpadding="0" width="473" style="margin-left:62.1pt;background:#C4BC96;border-collapse:collapse;">  <tbody><tr>   <td width="473" valign="top" style="width:354.4pt;padding:0cm 5.4pt 0cm 5.4pt">   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong># groupadd mysql</strong></p>   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong># useradd -g mysql   mysql</strong></p>   </td>  </tr> </tbody></table>  <p style="margin-left:21.0pt"><span style="font-size:12.0pt;">5</span><span style="font-size: 12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;;">、修改</span><span style="font-size:12.0pt;">mysql</span><span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;;">目录权限</span></p>  <p style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:21.0pt;text-indent:21.0pt; line-height:75%"><span style="line-height: 75%;">1</span><span style=" line-height:75%;font-family:宋体;">）设定</span><span style="line-height:75%;">root</span><span style="line-height:75%;font-family:宋体;">用户可以访问</span></p>  <table border="0" cellspacing="0" cellpadding="0" width="473" style="margin-left:62.1pt;background:#C4BC96;border-collapse:collapse;">  <tbody><tr>   <td width="473" valign="top" style="width:354.4pt;padding:0cm 5.4pt 0cm 5.4pt">   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong># chown -R root   /usr/local/mysql</strong></p>   </td>  </tr> </tbody></table>  <p style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:21.0pt;text-indent:21.0pt; line-height:75%"><span style="line-height: 75%;">2</span><span style=" line-height:75%;font-family:宋体;">）设定</span><span style="line-height:75%;">mysql</span><span style="line-height:75%;font-family:宋体;">组和</span><span style="line-height:75%;">mysql</span><span style="line-height:75%; font-family:宋体;">用户能访问</span><span style=" line-height:75%;">/usr/local/mysql</span><span style="line-height:75%;font-family:宋体;">和</span><span style="line-height:75%;">/usr/local/mysql/data</span></p>  <table border="0" cellspacing="0" cellpadding="0" width="473" style="margin-left:62.1pt;background:#C4BC96;border-collapse:collapse;">  <tbody><tr>   <td width="473" valign="top" style="width:354.4pt;padding:0cm 5.4pt 0cm 5.4pt">   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong># chgrp -R mysql   /usr/local/mysql</strong></p>   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong>#chown -R mysql   /usr/local/mysql/data</strong></p>   </td>  </tr> </tbody></table>  <p style="margin-left:21.0pt"><span style="font-size:12.0pt;">6</span><span style="font-size: 12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;;">、创建</span><span style="font-size:12.0pt;">mysql</span><span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;;">系统数据库</span></p>  <table border="0" cellspacing="0" cellpadding="0" width="473" style="margin-left:62.1pt;background:#C4BC96;border-collapse:collapse;">  <tbody><tr>   <td width="473" valign="top" style="width:354.4pt;padding:0cm 5.4pt 0cm 5.4pt">   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong># cd /usr/local/mysql</strong></p>   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong>#./scripts/mysql_install_db   --user=mysql&amp;</strong></p>   </td>  </tr> </tbody></table>  <p style="margin-left:21.0pt"><span style="font-size:12.0pt;">7</span><span style="font-size: 12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;;">、使用</span><span style="font-size:12.0pt;">mysql</span><span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;;">用户启动</span><span style="font-size:12.0pt;">mysqld</span></p>  <table border="0" cellspacing="0" cellpadding="0" width="473" style="margin-left:62.1pt;background:#C4BC96;border-collapse:collapse;">  <tbody><tr>   <td width="473" valign="top" style="width:354.4pt;padding:0cm 5.4pt 0cm 5.4pt">   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong>#/usr/local/mysql/bin/mysqld_safe   &nbsp;-user=mysql&amp;</strong></p>   </td>  </tr> </tbody></table>  <p style="margin-left:21.0pt"><span style="font-size:12.0pt;">8</span><span style="font-size: 12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;;">、设定</span><span style="font-size:12.0pt;">MySql</span><span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;;">的</span><span style="font-size:12.0pt;">root</span><span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;;">用户的密码</span></p>  <p style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:21.0pt;text-indent:21.0pt; line-height:75%"><span style="line-height:75%; font-family:宋体;">假设</span><span style=" line-height:75%;">root</span><span style="line-height:75%;font-family:宋体;">用户的密码为</span><span style="line-height:75%;">123456</span><span style="line-height:75%;font-family:宋体;">，根据实际环境自行设定</span></p>  <table border="0" cellspacing="0" cellpadding="0" width="473" style="margin-left:62.1pt;background:#C4BC96;border-collapse:collapse;">  <tbody><tr>   <td width="473" valign="top" style="width:354.4pt;padding:0cm 5.4pt 0cm 5.4pt">   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong>#/usr/local/mysql/bin/mysqladmin   -u root password 123456</strong></p>   </td>  </tr> </tbody></table>  <p style="margin-left:21.0pt"><span style="font-size:12.0pt;">9</span><span style="font-size: 12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;;">、使用</span><span style="font-size:12.0pt;">root</span><span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;;">用户登录</span><span style="font-size:12.0pt;">MySql</span></p>  <p style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:21.0pt;text-indent:21.0pt; line-height:75%"><span style="font-size:12.0pt;line-height:75%;font-family: 宋体;">根据步骤</span><span style="font-size:12.0pt;line-height:75%;">8</span><span style="font-size:12.0pt;line-height:75%; font-family:宋体;">设定的用户密码登录</span><span style="line-height:75%;">mysql</span></p>  <table border="0" cellspacing="0" cellpadding="0" width="473" style="margin-left:62.1pt;background:#C4BC96;border-collapse:collapse;">  <tbody><tr>   <td width="473" valign="top" style="width:354.4pt;padding:0cm 5.4pt 0cm 5.4pt">   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong># cd /usr/local/mysql/bin</strong></p>   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong>#./mysql -u root   -p &nbsp;&nbsp;&nbsp;&nbsp; </strong></p>   <p style="margin-left:21.0pt;   text-indent:5.25pt;">Enter   password:</p>   </td>  </tr> </tbody></table>  <p style="margin-left:21.0pt"><span style="font-size:12.0pt;">10</span><span style="font-size: 12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;;">、开启</span><span style="font-size:12.0pt;">mysql</span><span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;;">远程访问</span></p>  <p style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:21.0pt;text-indent:21.0pt; line-height:75%"><span style="line-height: 75%;">1</span><span style=" line-height:75%;font-family:宋体;">）赋予</span><span style="line-height:75%;">root</span><span style="line-height:75%;font-family:宋体;">用户远程访问权限</span></p>  <table border="0" cellspacing="0" cellpadding="0" width="473" style="margin-left:62.1pt;background:#C4BC96;border-collapse:collapse;">  <tbody><tr>   <td width="473" valign="top" style="width:354.4pt;padding:0cm 5.4pt 0cm 5.4pt">   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong># grant all   privileges on *.* to root @"%" identified by "123456";</strong></p>   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong>#flush privileges;</strong></p>   </td>  </tr> </tbody></table>  <p style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:21.0pt;text-indent:21.0pt; line-height:75%"><span style="line-height: 75%;">2</span><span style=" line-height:75%;font-family:宋体;">）参数说明</span></p>  <p style="margin-left:81.0pt;text-indent:-21.0pt;"><span style="font-family:宋体;">a)<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">&nbsp;&nbsp; </span></span><span style="font-family:宋体">grant all privileges</span><span style="font-family:宋体">：赋予所有权限，all可以替换为相关操作；</span></p>  <p style="margin-left:81.0pt;text-indent:-21.0pt;text-autospace:none"><span style="font-family:宋体;">b)<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">&nbsp;&nbsp; </span></span><span style=" font-family:宋体">*.*</span><span style="font-family: 宋体">：说明数据库和表名，*代表所有；</span></p>  <p style="margin-left:81.0pt;text-indent:-21.0pt;"><span style="font-family:宋体;">c)<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">&nbsp;&nbsp; </span></span><span style="font-family:宋体;">root</span><span style="font-family:宋体;">：说明是给root用户设定权限，可以替换为其他用户；</span></p>  <p style="margin-left:81.0pt;text-indent:-21.0pt;text-autospace:none"><span style="font-family:宋体;">d)<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">&nbsp;&nbsp; </span></span><span style=" font-family:宋体">%</span><span style="font-family: 宋体">：这里是Host名称，允许所有的就用%；</span></p>  <p style="margin-left:81.0pt;text-indent:-21.0pt;"><span style="font-family:宋体;">e)<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">&nbsp;&nbsp; </span></span><span style="font-family:宋体;">123456</span><span style="font-family:宋体;">：是root用户的密码；</span></p>  <p style="margin-left:81.0pt;text-indent:-21.0pt;"><span style="font-family:宋体;">f)<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman'; ">&nbsp;&nbsp; </span></span><span style="font-family:宋体;">flush </span><span style="font-family:宋体">privileges</span><span style="font-family:宋体">：是把新赋权限表刷新加载到内存，可以理解为即时生效。</span></p>  <p style="margin-left:21.0pt"><span style="font-size:12.0pt;">11</span><span style="font-size: 12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;;">、配置</span><span style="font-size:12.0pt;">MySql</span><span style="font-size:12.0pt;font-family:宋体;Times New Roman&quot;;Times New Roman&quot;;">自动启动</span></p>  <p style="margin-top:6.0pt;margin-right:0cm;margin-bottom:6.0pt; margin-left:21.0pt;text-indent:21.0pt; line-height:75%"><span style="font-size:12.0pt;line-height:75%;font-family: 宋体;">编辑</span><span style="font-size:12.0pt;line-height:75%;">/etc/rc.d/rc.local</span><span style="font-size:12.0pt;line-height:75%; font-family:宋体;">文件，在文件最底端加入启动语句</span></p>  <table border="0" cellspacing="0" cellpadding="0" width="473" style="margin-left:62.1pt;background:#C4BC96;border-collapse:collapse;">  <tbody><tr>   <td width="473" valign="top" style="width:354.4pt;padding:0cm 5.4pt 0cm 5.4pt">   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong># vi   /etc/rc.d/rc.local</strong></p>   <p style="margin-left:21.0pt;   text-indent:5.25pt;"><strong>&#8230;&#8230;</strong></p>   <p style="margin-left:21.0pt;   text-indent:5.25pt;">/usr/local/mysql/bin/mysqld_safe   -user=mysql&amp;</p>   </td>  </tr></tbody></table><strong style="color: #0000ff; ">通过rpm包安装、配置及卸载mysql的详细过程.</strong><strong>  </strong><p>　　以MySQL-server-4.0.14-0.i386.rpm为例，放在/data目录下</p> <p>　　cd /data</p> <p>　　rpm -ivh  MySQL-server-4.0.14-0.i386.rpm</p> <p>　　安装完成后在/usr/share/mysql目录中会有一个mysql的启动脚本mysql.server及示例配置文件等(如my-huge.cnf、my-large.cnf、my-medium.cnf)</p> <p>　　拷贝一个示例配置文件作为mysql的配置文件：</p> <p>　　cp  /usr/share/mysql/my-medium.cnf /etc/my.cnf</p> <p>　　rpm包安装完后自动将mysql安装成系统服务，所以可以使用下面命令启动、停止mysql</p> <p>　　启动mysql</p> <p>　　/etc/init.d/mysql start 或  service mysql start</p> <p>　　停止mysql</p> <p>　　/etc/init.d/mysql stop 或  service mysql stop</p> <p>　　到此，mysql服务就安装配置完成。</p> <p>　　安装mysql客户端</p> <p>　　rpm -ivh  MySQL-client-4.0.14-0.i386.rpm</p> <p>　　mysql安装好后目录结构如下：</p> <p>　　工具程序在/usr/bin目录中---ls  /usr/bin/mysql*</p> <p>　　<a id="k530768927" href="http://server.chinabyte.com/" target="_blank">服务器</a>程序/usr/sbin/mysqld</p> <p>　　数据目录/var/lib/mysql</p> <p>　　默认情况下mysql将错误日志文件、二进制日志文件及进程文件写在/var/lib/mysql目录中,如localhost.err、localhost.pid、localhost-bin.001等</p> <p>　　要改变这些情况可以修改/etc/my.cnf文件</p> <p>　　如将日志文件写在/var/log目录中，可以在my.cnf文件中加入下面两行：</p> <p>　　[mysqld_safe]</p> <p>　　err-log =  /var/log/mysqld.log</p> <p>　　有个实用程序/usr/bin/mysql_install_db，该程序可以用来初始化  mysql<a id="k530831516" href="http://soft.chinabyte.com/database/" target="_blank">数据库</a>，即创建/var/log/mysql目录，及创建mysql数据库(mysql授权表等信息)及test数据库(空库),如果不小心删  除了/var/log/mysql目录可以通过该程序来初始化.</p> <p>　　卸载mysql</p> <p>　　rpm -qa|grep -i  mysql</p> <p>　　rpm -ev  MySQL-server-4.0.14-0 MySQL-client-4.0.14-0</p> <p>　　卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除，如果确定没用后就手工删除</p> <p>　　rm -f /etc/my.cnf</p> <p>　　rm -rf /var/lib/mysql</p><img src ="http://www.blogjava.net/ldwblog/aggbug/389394.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldwblog/" target="_blank">David1228</a> 2012-10-11 15:21 <a href="http://www.blogjava.net/ldwblog/archive/2012/10/11/389394.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>创建表空间 oracle</title><link>http://www.blogjava.net/ldwblog/archive/2011/08/22/357067.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Mon, 22 Aug 2011 09:57:00 GMT</pubDate><guid>http://www.blogjava.net/ldwblog/archive/2011/08/22/357067.html</guid><wfw:comment>http://www.blogjava.net/ldwblog/comments/357067.html</wfw:comment><comments>http://www.blogjava.net/ldwblog/archive/2011/08/22/357067.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ldwblog/comments/commentRss/357067.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldwblog/services/trackbacks/357067.html</trackback:ping><description><![CDATA[<div><div>DECLARE</div><div>&nbsp; V_FILENAME VARCHAR2(200);</div><div>BEGIN</div><div>&nbsp; select SUBSTR(FILE_NAME,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1,</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; LENGTH(FILE_NAME) - INSTR(REVERSE(FILE_NAME), '/') + 1)</div><div>&nbsp; &nbsp; INTO V_FILENAME</div><div>&nbsp; &nbsp; from dba_data_files</div><div>&nbsp; &nbsp;where tablespace_name = 'ZSDATA'</div><div>&nbsp; &nbsp; &nbsp;AND ROWNUM = 1;</div><div></div><div>&nbsp; EXECUTE IMMEDIATE 'CREATE SMALLFILE&nbsp;</div><div>&nbsp; &nbsp; TABLESPACE ZSMEMBER_DATA</div><div>&nbsp; &nbsp; LOGGING&nbsp;</div><div>&nbsp; &nbsp; DATAFILE ''' || V_FILENAME ||</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'zsmember_data.dbf'' SIZE 5M REUSE&nbsp;</div><div>&nbsp; &nbsp; AUTOEXTEND&nbsp;</div><div>&nbsp; &nbsp; ON NEXT &nbsp;5120K MAXSIZE &nbsp;32767M EXTENT MANAGEMENT LOCAL&nbsp;</div><div>&nbsp; &nbsp; SEGMENT SPACE MANAGEMENT &nbsp;AUTO ';</div><div>&nbsp; EXECUTE IMMEDIATE 'CREATE SMALLFILE&nbsp;</div><div>&nbsp; &nbsp; TABLESPACE ZSMEMBER_IDX</div><div>&nbsp; &nbsp; LOGGING&nbsp;</div><div>&nbsp; &nbsp; DATAFILE ''' || V_FILENAME ||</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'zsmember_idx.dbf'' SIZE 5M REUSE&nbsp;</div><div>&nbsp; &nbsp; AUTOEXTEND&nbsp;</div><div>&nbsp;&nbsp;</div></div><img src ="http://www.blogjava.net/ldwblog/aggbug/357067.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldwblog/" target="_blank">David1228</a> 2011-08-22 17:57 <a href="http://www.blogjava.net/ldwblog/archive/2011/08/22/357067.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle查询表创建时间</title><link>http://www.blogjava.net/ldwblog/archive/2011/07/12/354135.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Tue, 12 Jul 2011 01:48:00 GMT</pubDate><guid>http://www.blogjava.net/ldwblog/archive/2011/07/12/354135.html</guid><wfw:comment>http://www.blogjava.net/ldwblog/comments/354135.html</wfw:comment><comments>http://www.blogjava.net/ldwblog/archive/2011/07/12/354135.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ldwblog/comments/commentRss/354135.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldwblog/services/trackbacks/354135.html</trackback:ping><description><![CDATA[<div>select CREATED from ALL_OBJECTS<br /> where OBJECT_TYPE='TABLE'<br /> and OBJECT_NAME=your_table_name<br /> 如果是你自己建的表，也可以在USER_OBJECTS中查詢<br /> select CREATED from USER_OBJECTS<br /> where OBJECT_TYPE='TABLE'<br /> and OBJECT_NAME=your_table_name</div><img src ="http://www.blogjava.net/ldwblog/aggbug/354135.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldwblog/" target="_blank">David1228</a> 2011-07-12 09:48 <a href="http://www.blogjava.net/ldwblog/archive/2011/07/12/354135.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle实用日期函数总结</title><link>http://www.blogjava.net/ldwblog/archive/2010/09/19/332428.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Sun, 19 Sep 2010 06:03:00 GMT</pubDate><guid>http://www.blogjava.net/ldwblog/archive/2010/09/19/332428.html</guid><wfw:comment>http://www.blogjava.net/ldwblog/comments/332428.html</wfw:comment><comments>http://www.blogjava.net/ldwblog/archive/2010/09/19/332428.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ldwblog/comments/commentRss/332428.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldwblog/services/trackbacks/332428.html</trackback:ping><description><![CDATA[1、昨天的数据汇总 <br />
startday&gt;=to_char(trunc($startday-1),'yyyyMMdd') <br />
and startday &lt;to_char(trunc($startday),'yyyyMMdd') <br />
说明：$startday为时间标量 函数trunc($startday-10)用来求日期的前十天 <br />
函数to_char(trunc($startday-10),'yyyyMMdd')用来将求得日期以年月日的形式转化为char类型 <br />
2、最近十天的数据汇总 <br />
startday&gt;=to_char(trunc($startday-10),'yyyyMMdd') <br />
and startday &lt;to_char(trunc($startday),'yyyyMMdd') <br />
说明：$startday为时间标量 函数trunc($startday-10)用来求日期的前十天 <br />
函数to_char(trunc($startday-10),'yyyyMMdd')用来将求得日期以年月日的形式转化为char类型 <br />
二、月汇总例句 <br />
1、一个月数据汇总 <br />
startday&gt;=to_char(trunc($startday,'mm'),'yyyyMMdd') <br />
and startday &lt;to_char(trunc(add_months($startday,1),'mm'),'yyyyMMdd') <br />
说明：$startday为时间标量 函数trunc($startday,'mm')用来求日期所在月第一天 <br />
函数to_char(trunc($startday,'mm'),'yyyyMMdd')用来将求得日期所在月第一天以年月日的形式转化为char类型 <br />
2、一个月内任意时间段内的数据汇总 <br />
求日期所在月的五号到月末之前的四天的汇总 <br />
startday&gt;=to_char(trunc($startday,'mm')+4,'yyyyMMdd') <br />
and startday &lt;to_char(trunc(add_months($startday,1),'mm')-4,'yyyyMMdd') <br />
三、周汇总例句 <br />
1、一个周数据汇总 <br />
startday&gt;=to_char(trunc($startday,'d')+1,'yyyyMMdd') <br />
and startday &lt;to_char(trunc($startday,'d')+8,'yyyyMMdd') <br />
说明：$startday为时间标量 函数trunc($startday,'d')用来求日期所在周的第一天根据所在地区不同可能为周日或周一 <br />
函数to_char(trunc($startday,'d')+1,'yyyyMMdd')用来将求得日期以年月日的形式转化为char类型 <br />
说明一周的第一天为周日或者周一取决于你数据库的nls设置 <br />
select * from nls_session_parameters; <br />
alter session set NLS_TERRITORY='AMERICA'; <br />
四、小时汇总例句 <br />
1、求前N个小时的数据汇总 <br />
startday=to_char($startday,'yyyyMMdd') and <br />
starttime&gt;=to_char(trunc($startday-N/24,'hh24'),'hh24')||'0000' and <br />
starttime&lt;to_char(trunc($startday,'hh24'),'hh24')||'0000' <br />
说明：$startday为时间标量 函数to_char($startday,'yyyyMMdd')用来求日期以年月日的形式转化为char类型 <br />
函数to_char(trunc(sysdate-N/24,'hh24'),'hh24')用来将求得日期以24小时制的形式转化为char类型 
<img src ="http://www.blogjava.net/ldwblog/aggbug/332428.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldwblog/" target="_blank">David1228</a> 2010-09-19 14:03 <a href="http://www.blogjava.net/ldwblog/archive/2010/09/19/332428.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>表空间的作用</title><link>http://www.blogjava.net/ldwblog/archive/2010/09/13/331936.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Mon, 13 Sep 2010 13:49:00 GMT</pubDate><guid>http://www.blogjava.net/ldwblog/archive/2010/09/13/331936.html</guid><wfw:comment>http://www.blogjava.net/ldwblog/comments/331936.html</wfw:comment><comments>http://www.blogjava.net/ldwblog/archive/2010/09/13/331936.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ldwblog/comments/commentRss/331936.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldwblog/services/trackbacks/331936.html</trackback:ping><description><![CDATA[<div class="blog_title">
<div class="date"><span class="year">2010</span><span class="sep_year">-</span><span class="month">07</span><span class="sep_month">-</span><span class="day">13</span></div>
<h3><a href="/blog/711596"></a>&nbsp;</h3>
<strong>文章分类:<a style="padding-right: 10px; text-decoration: none" href="http://www.javaeye.com/blogs/category/database">数据库</a></strong> </div>
<div class="blog_content">
<p>SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计。Oracle数据库开创性地提出了表空间的设计理念，这为Oracle数据库的高性能做出了不可磨灭的贡献。可以这么说，Oracle中很多优化都是基于表空间的设计理念而实现的。</p>
<p>　　<span style="color: #800000"><strong>典型应用一：控制用户所占用的表空间配额。</strong></span></p>
<p>　　在一些大型的数据库应用中，我们需要控制某个用户或者某一组用户其所占用的磁盘空间。这就好像在文件<a style="color: #000000" title="服务器" href="http://server.it168.com/" target="_blank">服务器</a>中，需要为每个用户设置磁盘配额一样，以防止<a style="color: #000000" title="硬盘" href="http://product.it168.com/list/b/0218_1.shtml" target="_blank">硬盘</a>空间耗竭。所以，在数据库中，我们也需要限制用户所可以使用的磁盘空间大小。为了达到这个目的，我们就可以通过表空间来实现。</p>
<p>　　我们可以在Oracle数据库中，建立不同的表空间，为其设置最大的<a style="color: #000000" title="存储" href="http://storage.it168.com/" target="_blank">存储</a>容量，然后把用户归属于这个表空间。如此的话，这个用户的存储容量，就受到这个表空间大小的限制。</p>
<p>　　<span style="color: #800000"><strong>典型应用二：控制数据库所占用的磁盘空间。</strong></span></p>
<p>　　有时候，在Oracle数据库<a style="color: #000000" title="服务器" href="http://product.it168.com/files/0402search.shtml" target="_blank">服务器</a>中，可能运行的不止一个服务。除了数据库服务器外，可能还有邮件服务器等应用系统服务器。为此，就需要先对Oracle数据库的磁盘空间作个规划，否则，当多个应用程序服务所占用的磁盘空间都无限增加时，最后可能导致各个服务都因为硬盘空间的耗竭而停止。所以，在同一台服务器上使用多个应用程序服务，我们往往需要先给他们进行磁盘空间的规划和分配。各个服务都不能够超过我们分配给他的最大限额，或者超过后及时的提醒我们。只有这样，才能够避免因为磁盘空间的耗竭而导致各种应用服务的崩溃。</p>
<p>　　<span style="color: #800000"><strong>典型应用三：灵活放置表空间，提高数据库的输入输出性能。</strong></span></p>
<p>　　数据库管理员还可以将不同类型的数据放置到不同的表空间中，这样可以明显提高数据库输入输出性能，有利于数据的备份与恢复等管理工作。因为我们数据库管理员在备份或者恢复数据的时候，可以按表空间来备份数据。如在设计一个大型的分销系统后台数据库的时候，我们可以按省份建立表空间。与浙江省相关的数据文件放置在浙江省的表空间中，北京发生业务记录，则记录在北京这个表空间中。如此，当浙江省的业务数据出现错误的时候，则直接还原浙江省的表空间即可。很明显，这样设计，当某个表空间中的数据出现错误需要恢复的时候，可以避免对其他表空间的影响。</p>
<p>　　另外，还可以对表空间进行独立备份。当数据库容量比较大的时候，若一下子对整个数据库进行备份，显然会占用比较多的时间。虽然说Oracle数据库支持热备份，但是在备份期间，会占用比较多的系统资源，从而造成数据库性能的下降。为此，当数据库容量比较大的时候，我们就需要进行设置多个表空间，然后规划各个表空间的备份时间，从而可以提高整个数据库的备份效率，降低备份对于数据库正常运行的影响。</p>
<p>　　<span style="color: #800000"><strong>典型应用四：大表的排序操作。</strong></span></p>
<p>　　我们都知道，当表中的记录比较多的时候，对他们进行查询，速度会比较慢。第一次查询成功后，若再对其进行第二次重新排序，仍然需要这么多的时间。为此，我们在数据库设计的时候，针对这种容量比较大的表对象，往往把它放在一个独立的表空间，以提高数据库的性能。</p>
<p>　　<span style="color: #800000"><strong>典型应用五：日志文件与数据文件分开放，提高数据库</strong></span><a style="color: #000000" title="安全" href="http://safe.it168.com/" target="_blank"><span style="color: #800000"><strong>安全</strong></span></a><span style="color: #800000"><strong>性。</strong></span></p>
<p>　　默认情况下，日志文件与数据文件存放在同一表空间。但是，这对于数据库安全方面来说，不是很好。所以，我们在数据库设计的过程中，往往喜欢把日志文件，特别是重做日志文件，放在一个独立的表空间中，然后把它存放在另外一块硬盘上。如此的话，当存放数据文件的硬盘出现故障时，能够马上通过存放在另一个表空间的重做日志文件，对数据库进行修复，以减少企业因为数据丢失所带来的损失。</p>
<p>　　当然，表空间的优势还不仅仅这些，企业对于数据库的性能要求越高，或者数据库容量越大，则表空间的优势就会越大。</p>
<p>　　下面，我们就具体来看看Oracle数据库中表空间的处理方式，看其在性能与安全性方面是否有足够的优势与SQL Server数据库抗衡。</p>
<p>　　在数据库设计的时候，我们建议数据库管理员按如下顺序设置表空间。</p>
<p><strong>第一步：建立表空间。</strong></p>
<p>　　在设计数据库的时候，首先需要设计表空间。我们需要考虑，是只建立一个表空间呢，还是需要建立多个表空间，以及各个表空间的存放位置、磁盘限额等等。</p>
<p>　　到底设计多少个表空间合理，没有统一的说法，这主要根据企业的实际需求去判断。如企业需要对用户进行磁盘限额控制的，则就需要根据用户的数量来设置表空间。当企业的数据容量比较大，而其又对数据库的性能有比较高的要求时，就需要根据不同类型的数据，设置不同的表空间，以提高其输入输出性能。</p>
<p>　　<strong>第二步：建立用户，并制定用户的默认表空间。</strong></p>
<p>　　在建立用户的时候，我们建议数据库管理员要指定用户的默认表空间。因为我们在利用CREATE语句创建数据库对象，如数据库表的时候，其默认是存储在数据库的当前默认空间。若不指定用户默认表空间的话，则用户每次创建数据库对象的时候，都要指定表空间，显然，这并不是很合理。</p>
<p>　　另外要注意，不同的表空间有不同的权限控制。用户对于表空间A具有完全控制权限，可能对于表空间B就只有查询权限，甚至连连接的权限的都没有。所以，合理为用户配置表空间的访问权限，也是提高数据库安全性的一个方法。</p>
</div>
<img src ="http://www.blogjava.net/ldwblog/aggbug/331936.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldwblog/" target="_blank">David1228</a> 2010-09-13 21:49 <a href="http://www.blogjava.net/ldwblog/archive/2010/09/13/331936.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个</title><link>http://www.blogjava.net/ldwblog/archive/2010/09/01/330497.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Wed, 01 Sep 2010 01:32:00 GMT</pubDate><guid>http://www.blogjava.net/ldwblog/archive/2010/09/01/330497.html</guid><wfw:comment>http://www.blogjava.net/ldwblog/comments/330497.html</wfw:comment><comments>http://www.blogjava.net/ldwblog/archive/2010/09/01/330497.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ldwblog/comments/commentRss/330497.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldwblog/services/trackbacks/330497.html</trackback:ping><description><![CDATA[<p>转载http://queue19.javaeye.com/blog/409580<br />
造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个：</p>
<p><br />
◆1.监听服务没有起起来。windows平台个一如下操作：开始---程序---管理工具---服务，打开服务面板， <br />
启动oraclehome92TNSlistener服务。</p>
<p>&nbsp;<br />
<br />
◆2.database instance没有起起来。windows平台如下操作：开始---程序---管理工具---服务，打开服务 <br />
面板，启动oracleserviceXXXX,XXXX就是你的database SID. <br />
<br />
◆3.注册表问题。regedit，然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑，属性--高级--环境变量---系统变量--新建，变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前，在command line下 <br />
输set oracle_sid=XXXX,XXXX就是你的database SID.经过以上步骤，就可以解决问题了。</p>
<img src ="http://www.blogjava.net/ldwblog/aggbug/330497.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldwblog/" target="_blank">David1228</a> 2010-09-01 09:32 <a href="http://www.blogjava.net/ldwblog/archive/2010/09/01/330497.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle里面的JOIN连接，加号(+)的使用和例子</title><link>http://www.blogjava.net/ldwblog/archive/2010/08/21/329518.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Sat, 21 Aug 2010 01:06:00 GMT</pubDate><guid>http://www.blogjava.net/ldwblog/archive/2010/08/21/329518.html</guid><wfw:comment>http://www.blogjava.net/ldwblog/comments/329518.html</wfw:comment><comments>http://www.blogjava.net/ldwblog/archive/2010/08/21/329518.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ldwblog/comments/commentRss/329518.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldwblog/services/trackbacks/329518.html</trackback:ping><description><![CDATA[<a href="http://www.java2000.net/p19263">转载自http://www.java2000.net/p19263</a><br />
<br />
<div class="t_msgfont" id="postmessage_19263">假设有 <br />
a表 <br />
id <br />
1 <br />
2 <br />
3 <br />
4 <br />
<br />
b表 <br />
id <br />
1 <br />
2 <br />
3 <br />
<br />
希望出来结果 <br />
<br />
a.id b.id <br />
1 1 <br />
2 2 <br />
3 3 <br />
4 <br />
<br />
用left join 的 <br />
SQL code <font color="#00ff">select</font><font color="#000"> a.id,b.id <br />
form a </font><font color="#808080">left</font><font color="#000"> jion b </font><font color="#00ff">on</font><font color="#000"> a.id</font><font color="#808080">=</font><font color="#000">b.id</font> <br />
<br />
<br />
用(+)的 <br />
SQL code <font color="#00ff">select</font><font color="#000"> a.id,b.id <br />
form a ,b <br />
</font><font color="#00ff">where</font><font color="#000"> a.id</font><font color="#808080">=</font><font color="#000">b.id(</font><font color="#808080">+</font><font color="#000">)</font> <br />
<br />
<br />
用(+)的语法简洁，容易读懂，但只是ORACLE支持，LEFT JOIN是通用的，其它没有差别 <br />
<br />
<strong>zengdan84：</strong> <br />
select * from a, b where a.id = b.id; <br />
<br />
对于外连接，Oracle中可以使用&#8220;(+)&#8221;来表示，9i可以使用LEFT/RIGHT/FULL OUTER JOIN，下面将配合实例一一介绍。 <br />
<br />
1. LEFT OUTER JOIN：左外关联 <br />
SELECT e.last_name, e.department_id, d.department_name <br />
FROM employees e <br />
LEFT OUTER JOIN departments d <br />
ON (e.department_id = d.department_id); <br />
<br />
等价于 <br />
<br />
SELECT e.last_name, e.department_id, d.department_name <br />
FROM employees e, departments d <br />
WHERE e.department_id=d.department_id(+); <br />
<br />
<br />
结果为：所有员工及对应部门的记录，包括没有对应部门编号department_id的员工记录。 <br />
<br />
2. RIGHT OUTER JOIN：右外关联 <br />
<br />
SELECT e.last_name, e.department_id, d.department_name <br />
FROM employees e <br />
RIGHT OUTER JOIN departments d <br />
ON (e.department_id = d.department_id); <br />
<br />
等价于 <br />
<br />
SELECT e.last_name, e.department_id, d.department_name <br />
FROM employees e, departments d <br />
WHERE e.department_id(+)=d.department_id; <br />
<br />
结果为：所有员工及对应部门的记录，包括没有任何员工的部门记录。 <br />
<br />
3. FULL OUTER JOIN：全外关联 <br />
<br />
SELECT e.last_name, e.department_id, d.department_name <br />
FROM employees e <br />
FULL OUTER JOIN departments d <br />
ON (e.department_id = d.department_id); <br />
<br />
结果为：所有员工及对应部门的记录，包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。 <br />
<br />
<strong>chensi05：</strong> <br />
说简单点就是哪边少加号放哪边 <br />
<br />
<strong>wuchunyu002：</strong> <br />
外连接: <br />
除了显示匹配相等连接条件的数据外,还可以显示某一个表中无法匹配相等连接条件的记录! <br />
------------------------------------------------ <br />
1) 左条件(+) = 右条件 <br />
左条件所在的表必须严格进行相等连接条件的匹配,而右条件所在的表除了匹配相等连接条件外，还可以显示无法匹配连接条件的数据! <br />
也称为右外连接. <br />
-------------------------------- <br />
可以用下列语句取代: <br />
SELECT...FROM 表1 RIGHT OUTER JOIN 表2 ON 条件; <br />
2) 左条件 = 右条件(+) <br />
右条件所在的表必须严格进行相等连接条件的匹配,而左条件所在的表除了匹配相等连接条件外，还可以显示无法匹配连接条件的数据! <br />
也称为左外连接. <br />
-------------------------------- <br />
可以用下列语句取代: <br />
SELECT...FROM 表1 LEFT OUTER JOIN 表2 ON 条件; <br />
<br />
REM 除了相等连接之外,显示没有员工的部门信息. <br />
SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO(+) = DEPT.DEPTNO; <br />
SELECT * FROM EMP RIGHT OUTER JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO; <br />
REM 除了相等连接之外,显示没有部门的员工信息. <br />
SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO(+); <br />
SELECT * FROM EMP LEFT OUTER JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO; <br />
<br />
<br />
<strong>shenliang1985(</strong><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#115;&#104;&#101;&#110;&#108;&#105;&#97;&#110;&#103;&#49;&#57;&#56;&#53;&#64;&#49;&#54;&#51;&#46;&#99;&#111;&#109;">沈亮</a><strong>)：</strong> <br />
Oracle 建议你用在From语句后用Outer Join语法 而不是Oracle的Join操作符(+).而且(+)是要受下面的规则限制的，但Outer Join语法则不受的～～ <br />
<br />
1）你不可以在查询块中使用(+) 当它同时包含 join的from语句中 <br />
2）(+)只是在where语句中,并且只能对应一个表或视图的一行字段 <br />
3）如果A和B做联接时有多个条件，那么(+)必须完善所有的匹配条件， <br />
如果没有 ,oracle不会警告你～只是结果自然不同的 <br />
4）不可以在作出一个表外查询 另张表内查询的(+)联接操作～～ <br />
5）不可以用（+）外联接到自己 当然Self Join是可以的 <br />
6）含（+）的Where后的注意 <br />
OR不可用 <br />
IN不可用 <br />
子查询不可用 <br />
<br />
以下给些个例子： <br />
SQL code <font color="#000">SQL</font><font color="#808080">&gt;</font> <br />
<font color="#00ff">desc</font><font color="#000"> part <br />
<br />
Name </font><font color="#00ff">Null</font><font color="#000">? Type <br />
</font><font color="#08080">--</font><font color="#08080">--------------------------------------- -------- -----------------</font> <br />
<font color="#000">PART_ID </font><font color="#808080">NOT</font> <br />
<font color="#00ff">NULL</font> <br />
<font color="#00ff">VARCHAR2</font><font color="#000">(</font><strong>4</strong><font color="#000">) <br />
SUPPLIER_ID </font><font color="#00ff">VARCHAR2</font><font color="#000">(</font><strong>4</strong><font color="#000">) <br />
<br />
SQL</font><font color="#808080">&gt;</font> <br />
<font color="#00ff">select</font> <br />
<font color="#808080">*</font> <br />
<font color="#00ff">from</font><font color="#000"> part; <br />
<br />
PART SUPP <br />
</font><font color="#08080">--</font><font color="#08080">-- ----</font> <br />
<font color="#000">P1 S1 <br />
P2 S2 <br />
P3 <br />
P4 <br />
<br />
SQL</font><font color="#808080">&gt;</font> <br />
<font color="#00ff">desc</font><font color="#000"> supplier <br />
<br />
Name </font><font color="#00ff">Null</font><font color="#000">? Type <br />
</font><font color="#08080">--</font><font color="#08080">--------------------------------------- -------- -----------------</font> <br />
<font color="#000">SUPPLIER_ID </font><font color="#808080">NOT</font> <br />
<font color="#00ff">NULL</font> <br />
<font color="#00ff">VARCHAR2</font><font color="#000">(</font><strong>4</strong><font color="#000">) <br />
SUPPLIER_NAME </font><font color="#808080">NOT</font> <br />
<font color="#00ff">NULL</font> <br />
<font color="#00ff">VARCHAR2</font><font color="#000">(</font><strong>20</strong><font color="#000">) <br />
<br />
SQL</font><font color="#808080">&gt;</font> <br />
<font color="#00ff">select</font> <br />
<font color="#808080">*</font> <br />
<font color="#00ff">from</font><font color="#000"> supplier; <br />
<br />
SUPP SUPPLIER_NAME <br />
</font><font color="#08080">--</font><font color="#08080">-- --------------------</font> <br />
<font color="#000">S1 Supplier#</font><strong>1</strong><font color="#000"> <br />
S2 Supplier#</font><strong>2</strong><font color="#000"> <br />
S3 Supplier#</font><strong>3</strong><font color="#000"> <br />
<br />
SQL</font><font color="#808080">&gt;</font> <br />
<font color="#00ff">select</font><font color="#000"> p.part_id, s.supplier_name <br />
</font><strong>2</strong> <br />
<font color="#00ff">from</font><font color="#000"> part p, supplier s <br />
</font><strong>3</strong> <br />
<font color="#00ff">where</font><font color="#000"> p.supplier_id </font><font color="#808080">=</font><font color="#000"> s.supplier_id (</font><font color="#808080">+</font><font color="#000">); <br />
<br />
PART SUPPLIER_NAME <br />
</font><font color="#08080">--</font><font color="#08080">-- --------------------</font> <br />
<font color="#000">P1 Supplier#</font><strong>1</strong><font color="#000"> <br />
P2 Supplier#</font><strong>2</strong><font color="#000"> <br />
P3 <br />
P4 <br />
<br />
</font><font color="#08080">--</font><font color="#08080">(+)是单向的</font> <br />
<font color="#000"><br />
SQL</font><font color="#808080">&gt;</font> <br />
<font color="#00ff">select</font><font color="#000"> p.part_id, s.supplier_name <br />
</font><strong>2</strong> <br />
<font color="#00ff">from</font><font color="#000"> part p, supplier s <br />
</font><strong>3</strong> <br />
<font color="#00ff">where</font><font color="#000"> p.supplier_id (</font><font color="#808080">+</font><font color="#000">) </font><font color="#808080">=</font><font color="#000"> s.supplier_id (</font><font color="#808080">+</font><font color="#000">); <br />
</font><font color="#00ff">where</font><font color="#000"> p.supplier_id (</font><font color="#808080">+</font><font color="#000">) </font><font color="#808080">=</font><font color="#000"> s.supplier_id (</font><font color="#808080">+</font><font color="#000">) <br />
</font><font color="#808080">*</font><font color="#000"> <br />
ERROR at line </font><strong>3</strong><font color="#000">: <br />
ORA</font><font color="#808080">-</font><strong>01468</strong><font color="#000">: a predicate may reference </font><font color="#00ff">only</font><font color="#000"> one </font><font color="#808080">outer-</font><font color="#000">joined </font><font color="#00ff">table</font> <br />
<font color="#08080">--</font><font color="#08080">实现Full Join的方法</font> <br />
<font color="#000"><br />
SQL</font><font color="#808080">&gt;</font> <br />
<font color="#00ff">select</font><font color="#000"> p.part_id, s.supplier_name <br />
</font><strong>2</strong> <br />
<font color="#00ff">from</font><font color="#000"> part p, supplier s <br />
</font><strong>3</strong> <br />
<font color="#00ff">where</font><font color="#000"> p.supplier_id </font><font color="#808080">=</font><font color="#000"> s.supplier_id (</font><font color="#808080">+</font><font color="#000">) <br />
</font><strong>4</strong> <br />
<font color="#00ff">union</font> <br />
<strong>5</strong> <br />
<font color="#00ff">select</font><font color="#000"> p.part_id, s.supplier_name <br />
</font><strong>6</strong> <br />
<font color="#00ff">from</font><font color="#000"> part p, supplier s <br />
</font><strong>7</strong> <br />
<font color="#00ff">where</font><font color="#000"> p.supplier_id (</font><font color="#808080">+</font><font color="#000">) </font><font color="#808080">=</font><font color="#000"> s.supplier_id; <br />
<br />
PART SUPPLIER_NAME <br />
</font><font color="#08080">--</font><font color="#08080">-- --------------------</font> <br />
<font color="#000">P1 Supplier#</font><strong>1</strong><font color="#000"> <br />
P2 Supplier#</font><strong>2</strong><font color="#000"> <br />
P3 <br />
P4 <br />
Supplier#</font><strong>3</strong> <br />
<font color="#08080">--</font><font color="#08080">现在的语法 </font><br />
<font color="#000">SQL</font><font color="#808080">&gt;</font> <br />
<font color="#00ff">select</font><font color="#000"> p.part_id, s.supplier_name <br />
</font><strong>2</strong> <br />
<font color="#00ff">from</font><font color="#000"> part p </font><font color="#00ff">full</font> <br />
<font color="#808080">outer</font> <br />
<font color="#808080">join</font><font color="#000"> supplier s <br />
</font><strong>3</strong> <br />
<font color="#00ff">on</font><font color="#000"> p.supplier_id </font><font color="#808080">=</font><font color="#000"> s.supplier_id; <br />
<br />
PART SUPPLIER_NAME <br />
</font><font color="#08080">--</font><font color="#08080">-- --------------------</font> <br />
<font color="#000">P1 Supplier#</font><strong>1</strong><font color="#000"> <br />
P2 Supplier#</font><strong>2</strong><font color="#000"> <br />
P4 <br />
P3 <br />
Supplier#</font><strong>3</strong><font color="#000"> <br />
<br />
另外的EG： <br />
<br />
SQL code <br />
SQL</font><font color="#808080">&gt;</font> <br />
<font color="#00ff">select</font> <br />
<font color="#808080">*</font> <br />
<font color="#00ff">from</font><font color="#000"> testa; <br />
<br />
ID NAME ADDR AGE <br />
</font><font color="#08080">--</font><font color="#08080">-------- ------ ------ ----------</font> <br />
<br />
<strong>3</strong><font color="#000"> 电子 南京 </font><strong>23</strong> <br />
<strong>5</strong><font color="#000"> 物理 北京 </font><strong>23</strong> <br />
<strong>6</strong><font color="#000"> 物理 河北 </font><strong>25</strong> <br />
<strong>1</strong><font color="#000"> 电脑 上海 </font><strong>23</strong> <br />
<strong>2</strong><font color="#000"> 电子 北京 </font><strong>22</strong> <br />
<strong>4</strong><font color="#000"> 物理 芜湖 </font><strong>22</strong> <br />
<strong>7</strong><font color="#000"> 艺术 上海 </font><strong>21</strong> <br />
<strong>8</strong><font color="#000"> 歌剧 苏州 </font><strong>16</strong> <br />
<strong>9</strong><font color="#000"> 沈亮 上海 </font><strong>22</strong><font color="#000"> <br />
<br />
已选择9行。 <br />
<br />
SQL</font><font color="#808080">&gt;</font> <br />
<font color="#00ff">select</font> <br />
<font color="#808080">*</font> <br />
<font color="#00ff">from</font><font color="#000"> testb; <br />
<br />
ID ADDR <br />
</font><font color="#08080">--</font><font color="#08080">-------- ----------</font> <br />
<br />
<strong>7</strong><font color="#000"> 上海 <br />
</font><strong>1</strong><font color="#000"> 北京 <br />
</font><strong>3</strong><font color="#000"> 上海 <br />
</font><strong>5</strong><font color="#000"> 合肥 <br />
</font><font color="#08080">--</font><font color="#08080">匹配完全</font> <br />
<font color="#00ff">select</font><font color="#000"> testa.id,testa.addr </font><font color="#00ff">from</font><font color="#000"> testa,testb </font><font color="#00ff">where</font><font color="#000"> testa.id(</font><font color="#808080">+</font><font color="#000">)</font><font color="#808080">=</font><font color="#000">testb.id </font><font color="#808080">and</font><font color="#000"> <br />
testa.addr(</font><font color="#808080">+</font><font color="#000">)</font><font color="#808080">=</font><font color="#000">testb.addr; <br />
<br />
ID ADDR <br />
</font><font color="#08080">--</font><font color="#08080">-------- ------</font> <br />
<br />
<strong>7</strong><font color="#000"> 上海</font> <br />
<br />
<br />
<br />
现在的Outer Join方法是Oracle9i时开始引用的 ANSI标准的联接语法，现在的则比较直观 简单 <br />
通过上边Full Join的实现方式 不难看到ANSI的联接语法要比用含Union的(+)的执行效率更高～～</div>
<img src ="http://www.blogjava.net/ldwblog/aggbug/329518.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldwblog/" target="_blank">David1228</a> 2010-08-21 09:06 <a href="http://www.blogjava.net/ldwblog/archive/2010/08/21/329518.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle导入导出命令 等......</title><link>http://www.blogjava.net/ldwblog/archive/2010/01/05/308318.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Tue, 05 Jan 2010 10:12:00 GMT</pubDate><guid>http://www.blogjava.net/ldwblog/archive/2010/01/05/308318.html</guid><wfw:comment>http://www.blogjava.net/ldwblog/comments/308318.html</wfw:comment><comments>http://www.blogjava.net/ldwblog/archive/2010/01/05/308318.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ldwblog/comments/commentRss/308318.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldwblog/services/trackbacks/308318.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;通过dos窗口 进入到Oracle安装bin目录下<br />
&nbsp;&nbsp; 输入导出命令:&nbsp; exp <a href="mailto:system/system@mis">system/system@mis</a> file="d:\backup\2010-1-5.dmp"&nbsp; 导出的是dmp文件<br />
&nbsp;&nbsp; 导入命令： imp <a href="mailto:system/system@mis">rmp/rmp@mis</a>&nbsp;fromuser="system" touser="rmp" file="d:\backup\2010-1-5.dmp" <br />
<br />
<br />
通过pl/sql&nbsp;&nbsp;选择Tools---&gt;Export Table ---&gt;选中要导出的表---&gt;选择SQL Inserts 选择Drop tables&nbsp; 选择导出的目录 --点击Export 导出的文件data.sql<br />
<br />
导入的时候通过选择Command Window 然后在显示的窗口下输入@后点击回车键(Enter) --》选择导出的data.sql&nbsp; ----&gt;执行中,,,,OK
<img src ="http://www.blogjava.net/ldwblog/aggbug/308318.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldwblog/" target="_blank">David1228</a> 2010-01-05 18:12 <a href="http://www.blogjava.net/ldwblog/archive/2010/01/05/308318.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>两条集合函数的应用</title><link>http://www.blogjava.net/ldwblog/archive/2009/11/25/303673.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Wed, 25 Nov 2009 09:58:00 GMT</pubDate><guid>http://www.blogjava.net/ldwblog/archive/2009/11/25/303673.html</guid><wfw:comment>http://www.blogjava.net/ldwblog/comments/303673.html</wfw:comment><comments>http://www.blogjava.net/ldwblog/archive/2009/11/25/303673.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ldwblog/comments/commentRss/303673.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldwblog/services/trackbacks/303673.html</trackback:ping><description><![CDATA[sql语句：如何统计一列中的值重复出现的次数，查询出的结果按次数的倒序排 <br />
解决了<br />
select * from (select col,count(col) as c from table group by col) as t order by t.c <br />
<br />
<br />
<p>本来的目标是 MAX(...) ，结果 这么一句 HQL 语句总是得不到结构：<br />
string query = "SELECT MAX(ID) FROM Student";<br />
另外两句："SELECT MAX(Student.ID) FROM Student "&nbsp; 和 "SELECT MAX(ID) FROM Student AS stud";<br />
同样得不到结果，返回的的均是 Student 对象集合</p>
<p>刚开始以为不支持 MAX 函数，但是SELECT COUNT() FROM Student ，就可以正确返回纪律数，而且很多文档也多证明了HQL支持ANSI SQL集合函数，</p>
<p>终于发现 只有 "SELECT MAX(stud.ID) FROM Student AS stud";<br />
当然&nbsp; "SELECT MAX(stud.ID) FROM Student stud" 也是正确的</p>
<p>转载请标明出处：http://blog.csdn.net/Jinglecat/archive/2005/08/03/445296.aspx</p>
<img src ="http://www.blogjava.net/ldwblog/aggbug/303673.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldwblog/" target="_blank">David1228</a> 2009-11-25 17:58 <a href="http://www.blogjava.net/ldwblog/archive/2009/11/25/303673.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>查询不重复记录（表中某个字段重复的取其中一条记录的sql（按时间最新或者版本最新获取））红色</title><link>http://www.blogjava.net/ldwblog/archive/2009/11/25/303618.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Wed, 25 Nov 2009 06:58:00 GMT</pubDate><guid>http://www.blogjava.net/ldwblog/archive/2009/11/25/303618.html</guid><wfw:comment>http://www.blogjava.net/ldwblog/comments/303618.html</wfw:comment><comments>http://www.blogjava.net/ldwblog/archive/2009/11/25/303618.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ldwblog/comments/commentRss/303618.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldwblog/services/trackbacks/303618.html</trackback:ping><description><![CDATA[select t1.id,t1.parent_sys_fun_point_id,t1.sys_fun_point_type,t1.sys_fun_point_state,t2.sys_fun_point_ver,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t4.sys_fun_point_name ,t2.create_time,t4.sys_fun_point_code,t4.sys_fun_point_desc,t2.sys_fun_point_info_id,t1.sys_fun_point_layer <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from req_system_function_point t1,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (<span style="color: #0000ff">select distinct t.sys_fun_point_id,t.sys_fun_point_ver,t.sys_fun_point_info_id,t.create_time,t.sys_ver<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from req_sys_fun_point_version t <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where t.sys_ver &lt;= (select tt.cur_sys_ver from req_sys tt)) </span>t2,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; req_sys_fun_point_info t4<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where t1.parent_sys_fun_point_id is not null <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and t1.id = t2.sys_fun_point_id <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and t4.id=t2.sys_fun_point_info_id <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and t1.sys_fun_point_state = 0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and <span style="color: #ff0000">t2.sys_ver=(select max(t3.sys_ver)&nbsp; from&nbsp; req_sys_fun_point_version t3 where&nbsp; t1.id=t3.sys_fun_point_id );</span>
<img src ="http://www.blogjava.net/ldwblog/aggbug/303618.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldwblog/" target="_blank">David1228</a> 2009-11-25 14:58 <a href="http://www.blogjava.net/ldwblog/archive/2009/11/25/303618.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle SQL中的IN 和 EXSITS区别总结</title><link>http://www.blogjava.net/ldwblog/archive/2009/03/31/263095.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Tue, 31 Mar 2009 05:08:00 GMT</pubDate><guid>http://www.blogjava.net/ldwblog/archive/2009/03/31/263095.html</guid><wfw:comment>http://www.blogjava.net/ldwblog/comments/263095.html</wfw:comment><comments>http://www.blogjava.net/ldwblog/archive/2009/03/31/263095.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ldwblog/comments/commentRss/263095.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ldwblog/services/trackbacks/263095.html</trackback:ping><description><![CDATA[IN <br />
确定给定的值是否与子查询或列表中的值相匹配。 <br />
<br />
<span class="hilite1">EXISTS</span> <br />
指定一个子查询，检测行的存在。 <br />
<br />
比较使用 <span class="hilite1">EXISTS</span> 和 IN 的查询 <br />
<br />
这个例子比较了两个语义类似的查询。 <br />
<span style="color: red">第一个查询使用 <span class="hilite1">EXISTS</span> 而第二个查询使用 IN。注意两个查询返回相同的信息。 </span><br />
SELECT DISTINCT pub_name <br />
FROM publishers <br />
WHERE <span style="color: red"><span class="hilite1">EXISTS</span></span> <br />
(SELECT * <br />
FROM titles <br />
WHERE pub_id = publishers.pub_id <br />
AND type = 'business') <br />
<br />
-- Or, using the IN clause: <br />
<br />
SELECT distinct pub_name <br />
FROM publishers <br />
WHERE pub_id <span style="color: red">IN </span><br />
(SELECT pub_id <br />
FROM titles <br />
WHERE type = 'business') <br />
<br />
下面是任一查询的结果集： <br />
pub_name <br />
---------------------------------------- <br />
Algodata Infosystems <br />
New Moon Books <br />
<br />
<br />
exits 相当于存在量词：表示集合存在,也就是集合不为空只作用一个集合. <br />
例如 exist P表示P不空时为真; not exist P表示p为空时为真in表示一个标量和一元关系的关系。 <br />
例如：s in P表示当s与P中的某个值相等时 为真; s not in P 表示s与P中的每一个值都不相等时 为真 <br />
<br />
在Oracle SQL中取数据时有时要用到in 和 <span class="hilite1">exists</span> 那么他们有什么区别呢？ <br />
<br />
1)性能上的比较 <br />
比如Select * from T1 where x in ( select y from T2 ) <br />
执行的过程相当于: <br />
select * <br />
&nbsp; from t1, ( select distinct y from t2 ) t2 <br />
where t1.x = t2.y; <br />
<br />
相对的 <br />
<br />
select * from t1 where <span class="hilite1">exists</span> ( select null from t2 where y = x ) <br />
执行的过程相当于: <br />
for x in ( select * from t1 ) <br />
&nbsp;&nbsp; loop <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( <span class="hilite1">exists</span> ( select null from t2 where y = x.x ) <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OUTPUT THE RECORD <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end if <br />
end loop <br />
表 T1 不可避免的要被完全扫描一遍 <br />
<br />
分别适用在什么情况? <br />
以子查询 ( select y from T2 )为考虑方向 <br />
如果子查询的结果集很大需要消耗很多时间，但是T1比较小执行( select null from t2 where y = x.x )非常快，那么<span class="hilite1">exists</span>就比较适合用在这里 <br />
相对应得子查询的结果集比较小的时候就应该使用in. <br />
<br />
in和<span class="hilite1">exists</span> <br />
in 是把外表和内表作hash 连接，而<span class="hilite1">exists</span>是对外表作loop循环，每次loop循环再对内表进行查询。 <br />
一直以来认为<span class="hilite1">exists</span>比in效率高的说法是不准确的。 <br />
如果查询的两个表大小相当，那么用in和<span class="hilite1">exists</span>差别不大。 <br />
<br />
如果两个表中一个较小，一个是大表，则子查询表大的用<span class="hilite1">exists</span>，子查询表小的用in： <br />
例如：表A（小表），表B（大表） <br />
1： <br />
select * from A where cc in (select cc from B) <br />
效率低，用到了A表上cc列的索引； <br />
select * from A where <span class="hilite1">exists</span>(select cc from B where cc=A.cc) <br />
效率高，用到了B表上cc列的索引。 <br />
<br />
相反的 <br />
2： <br />
select * from B where cc in (select cc from A) <br />
效率高，用到了B表上cc列的索引； <br />
select * from B where <span class="hilite1">exists</span>(select cc from A where cc=B.cc) <br />
效率低，用到了A表上cc列的索引。 <br />
<br />
not in 和not <span class="hilite1">exists</span> <br />
如果查询语句使用了not in 那么内外表都进行全表扫描，没有用到索引； <br />
而not extsts 的子查询依然能用到表上的索引。 <br />
所以无论那个表大，用not <span class="hilite1">exists</span>都比not in要快。 <br />
<br />
in 与 =的区别 <br />
select name from student where name in ('zhang','wang','li','zhao'); <br />
<br />
与 <br />
select name from student where name='zhang' or name='li' or name='wang' or name='zhao'的结果是相同的。 <br />
 <img src ="http://www.blogjava.net/ldwblog/aggbug/263095.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldwblog/" target="_blank">David1228</a> 2009-03-31 13:08 <a href="http://www.blogjava.net/ldwblog/archive/2009/03/31/263095.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle 存储过程和函数学习笔记 </title><link>http://www.blogjava.net/ldwblog/archive/2009/01/31/252783.html</link><dc:creator>David1228</dc:creator><author>David1228</author><pubDate>Sat, 31 Jan 2009 04:18:00 GMT</pubDate><guid>http://www.blogjava.net/ldwblog/archive/2009/01/31/252783.html</guid><description><![CDATA[创建过程的语法：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<div class="cnblogs_code"><img id="Code_Closed_Image_105954" style="display: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_105954').style.display='none'; document.getElementById('Code_Open_Image_105954').style.display='inline'; document.getElementById('Code_Open_Text_105954').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"  alt="" /><img id="Code_Open_Image_105954" style="display: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_105954').style.display='none'; getElementById('Code_Closed_Image_105954').style.display='inline'; getElementById('Code_Closed_Text_105954').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"  alt="" /><span class="cnblogs_code_Collapse" id="Code_Closed_Text_105954" style="display: none">Code</span><span id="Code_Open_Text_105954" style="display: inline"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">or&nbsp;replace</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">procedure</span><span style="color: #000000">&nbsp;procedure_name<br />
&nbsp;&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">(argument[{in|out|in&nbsp;out}</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;type,<br />
&nbsp;&nbsp;&nbsp;&nbsp;<img alt="" src="http://www.cnblogs.com/Images/dot.gif" /><br />
&nbsp;&nbsp;&nbsp;argument</span><span style="color: #ff0000">[</span><span style="color: #ff0000">{in|out|in&nbsp;out}</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;type)]&nbsp;{</span><span style="color: #0000ff">is</span><span style="color: #808080">|</span><span style="color: #0000ff">as</span><span style="color: #000000">}<br />
&nbsp;&nbsp;procedure_body<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;<br />
</span></span></div>
<p>简单的例子：</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_110020" style="display: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_110020').style.display='none'; document.getElementById('Code_Open_Image_110020').style.display='inline'; document.getElementById('Code_Open_Text_110020').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"  alt="" /><img id="Code_Open_Image_110020" style="display: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_110020').style.display='none'; getElementById('Code_Closed_Image_110020').style.display='inline'; getElementById('Code_Closed_Text_110020').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"  alt="" /><span class="cnblogs_code_Collapse" id="Code_Closed_Text_110020" style="display: none">Code</span><span id="Code_Open_Text_110020" style="display: inline"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000"><br />
&nbsp;&nbsp;</span><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">procedure</span><span style="color: #000000">&nbsp;RaiseError(<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #008080">/*</span><span style="color: #008080">if&nbsp;p_Raise&nbsp;is&nbsp;true,then&nbsp;an&nbsp;unhandled&nbsp;error&nbsp;is&nbsp;raised.<br />
&nbsp;&nbsp;&nbsp;if&nbsp;p_Raise&nbsp;is&nbsp;false,the&nbsp;procedure&nbsp;completes&nbsp;successfully.</span><span style="color: #008080">*/</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p_Raise&nbsp;</span><span style="color: #808080">in</span><span style="color: #000000">&nbsp;boolean:</span><span style="color: #808080">=</span><span style="color: #000000">true,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p_ParameterA&nbsp;&nbsp;out&nbsp;</span><span style="color: #0000ff">number</span><span style="color: #000000">)&nbsp;</span><span style="color: #0000ff">as</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">begin</span><span style="color: #000000">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p_Parameter1:</span><span style="color: #808080">=</span><span style="color: #ff0000">'</span><span style="color: #ff0000">abcdwxc</span><span style="color: #ff0000">'</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p_Parameter2:</span><span style="color: #808080">=</span><span style="font-weight: bold; color: #800000">143</span><span style="color: #000000">;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">end</span><span style="color: #000000">&nbsp;ParameterLength;</span></span></div>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">删除过程语法：</font></p>
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff">drop</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">procedure</span><span style="color: #000000">&nbsp;procedure_name;</span></div>
<p>&nbsp;</p>
<p>2、创建函数的语法：</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_110102" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_110102').style.display='none'; document.getElementById('Code_Open_Image_110102').style.display='inline'; document.getElementById('Code_Open_Text_110102').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width="11" align="top"  alt="" /><img id="Code_Open_Image_110102" style="display: none" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_110102').style.display='none'; getElementById('Code_Closed_Image_110102').style.display='inline'; getElementById('Code_Closed_Text_110102').style.display='inline';" height="16" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top"  alt="" /><span class="cnblogs_code_Collapse" id="Code_Closed_Text_110102">Code</span><span id="Code_Open_Text_110102" style="display: none"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">or&nbsp;replace</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;function_name&nbsp;<br />
&nbsp;&nbsp;&nbsp;</span><span style="color: #ff0000">[</span><span style="color: #ff0000">(argument[{in|out|in&nbsp;out}</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;type,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img alt="" src="http://www.cnblogs.com/Images/dot.gif" /><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;argument</span><span style="color: #ff0000">[</span><span style="color: #ff0000">{in|out|in&nbsp;out}</span><span style="color: #ff0000">]</span><span style="color: #000000">&nbsp;type)]&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;return_type&nbsp;{</span><span style="color: #0000ff">is</span><span style="color: #808080">|</span><span style="color: #0000ff">as</span><span style="color: #000000">}<br />
&nbsp;&nbsp;function_body</span></span></div>
<p>&nbsp;</p>
<p>简单函数的例子：</p>
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">create</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;ClassInfo(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p_Department&nbsp;classes.department</span><span style="color: #808080">%</span><span style="color: #000000">type,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p_Course&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;classes.course</span><span style="color: #808080">%</span><span style="color: #000000">type)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">varchar</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">is</span><span style="color: #000000">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v_CurrentStudents&nbsp;</span><span style="color: #0000ff">number</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v_MaxStudents&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">number</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v_PercentFull&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">number</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">begin</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;current_students,max_students&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">into</span><span style="color: #000000">&nbsp;v_CurrentStudents,v_MaxStudents<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;classes<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;department</span><span style="color: #808080">=</span><span style="color: #000000">P_Department&nbsp;</span><span style="color: #808080">and</span><span style="color: #000000">&nbsp;course</span><span style="color: #808080">=</span><span style="color: #000000">P_Course;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008080">--</span><span style="color: #008080">计算百分比</span><span style="color: #008080"><br />
</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v_PercentFull:</span><span style="color: #808080">=</span><span style="color: #000000">v_CurrentStudents</span><span style="color: #808080">/</span><span style="color: #000000">V_MaxStudent</span><span style="color: #808080">*</span><span style="font-weight: bold; color: #800000">100</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;v_PercentFull</span><span style="color: #808080">=</span><span style="font-weight: bold; color: #800000">100</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">then</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">Full</span><span style="color: #ff0000">'</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif&nbsp;v_PercentFull</span><span style="color: #808080">&gt;</span><span style="font-weight: bold; color: #800000">80</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">then</span><span style="color: #000000">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">Some&nbsp;Room</span><span style="color: #ff0000">'</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif&nbsp;v_PercentFull</span><span style="color: #808080">&gt;</span><span style="font-weight: bold; color: #800000">60</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">then</span><span style="color: #000000">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">More&nbsp;Room</span><span style="color: #ff0000">'</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif&nbsp;v_PercentFull</span><span style="color: #808080">&gt;</span><span style="font-weight: bold; color: #800000">0</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">then</span><span style="color: #000000">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">Lots&nbsp;of&nbsp;Room</span><span style="color: #ff0000">'</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #ff0000">'</span><span style="color: #ff0000">Empty</span><span style="color: #ff0000">'</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">end</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">end</span><span style="color: #000000">&nbsp;ClassInfo;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div>
<p>&nbsp;</p>
<p><font face="Verdana">删除函数语法：</font></p>
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff">drop</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;function_name;</span></div>
 <img src ="http://www.blogjava.net/ldwblog/aggbug/252783.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ldwblog/" target="_blank">David1228</a> 2009-01-31 12:18 <a href="http://www.blogjava.net/ldwblog/archive/2009/01/31/252783.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>