﻿<?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>IT博客-skl-随笔分类-oracle</title><link>http://www.cnitblog.com/skl/category/7900.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 26 Sep 2011 11:05:56 GMT</lastBuildDate><pubDate>Mon, 26 Sep 2011 11:05:56 GMT</pubDate><ttl>60</ttl><item><title>oracle中删除表中的一列语句</title><link>http://www.cnitblog.com/skl/archive/2008/12/30/53259.html</link><dc:creator>单</dc:creator><author>单</author><pubDate>Tue, 30 Dec 2008 09:26:00 GMT</pubDate><guid>http://www.cnitblog.com/skl/archive/2008/12/30/53259.html</guid><wfw:comment>http://www.cnitblog.com/skl/comments/53259.html</wfw:comment><comments>http://www.cnitblog.com/skl/archive/2008/12/30/53259.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/skl/comments/commentRss/53259.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/skl/services/trackbacks/53259.html</trackback:ping><description><![CDATA[<br><br>alter table 表名 drop colum 列名<br>则将该表中这一列删除包括该列的关系
<img src ="http://www.cnitblog.com/skl/aggbug/53259.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/skl/" target="_blank">单</a> 2008-12-30 17:26 <a href="http://www.cnitblog.com/skl/archive/2008/12/30/53259.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Truncate,delete,drop的比较</title><link>http://www.cnitblog.com/skl/archive/2008/12/26/53062.html</link><dc:creator>单</dc:creator><author>单</author><pubDate>Fri, 26 Dec 2008 02:49:00 GMT</pubDate><guid>http://www.cnitblog.com/skl/archive/2008/12/26/53062.html</guid><wfw:comment>http://www.cnitblog.com/skl/comments/53062.html</wfw:comment><comments>http://www.cnitblog.com/skl/archive/2008/12/26/53062.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/skl/comments/commentRss/53062.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/skl/services/trackbacks/53062.html</trackback:ping><description><![CDATA[<p><font size=2><strong>truncate,delete,drop的比较.</strong></font></p>
<p><font size=2><br>注意:这里说的delete是指不带where子句的delete语句</font></p>
<font size=2>
<p><br><strong>相同点:</strong>truncate和不带where子句的delete, 以及drop都会删除表内的数据 </p>
<p><br><strong>不同点:</strong> <br>1. truncate和 delete只删除数据不删除表的结构(定义) <br>drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态. </p>
<p><br>2.delete语句是DML,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发. <br>truncate,drop是DDL, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger. </p>
<p><br>3.delete语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动 <br>显然drop语句将表所占用的空间全部释放 <br>truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage; truncate会将高水线复位(回到最开始). </p>
<p><br>4.速度,一般来说: drop&gt; truncate &gt; delete </p>
<p><br>5.安全性:小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不及 <br>使用上,想删除部分数据行用delete,注意带上where子句. 回滚段要足够大. <br>想删除表,当然用drop <br>想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用delete. <br>如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据 </p>
</font>
<img src ="http://www.cnitblog.com/skl/aggbug/53062.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/skl/" target="_blank">单</a> 2008-12-26 10:49 <a href="http://www.cnitblog.com/skl/archive/2008/12/26/53062.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle中truncate与delete的区别</title><link>http://www.cnitblog.com/skl/archive/2008/12/26/53058.html</link><dc:creator>单</dc:creator><author>单</author><pubDate>Fri, 26 Dec 2008 02:15:00 GMT</pubDate><guid>http://www.cnitblog.com/skl/archive/2008/12/26/53058.html</guid><wfw:comment>http://www.cnitblog.com/skl/comments/53058.html</wfw:comment><comments>http://www.cnitblog.com/skl/archive/2008/12/26/53058.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/skl/comments/commentRss/53058.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/skl/services/trackbacks/53058.html</trackback:ping><description><![CDATA[<font face="Courier New, Courier, mono" size=-1>
<div><span style="FONT-SIZE: 14pt">truncate是oracle中独有的关键字吧！它的作用是清空一个表格，在删除数据方面，其与delete有一些区别：<br></span><br><span style="COLOR: #33cccc">1、在功能上，truncate是清空一个表的内容，它相当于delete from table_name。<br>2、delete是dml操作，truncate是ddl操作；因此，用delete删除整个表的数据时，会产生大量的roolback，占用很多的rollback segments， 而truncate不会。<br>3、在内存中，用delete删除数据，表空间中其被删除数据的表占用的空间还在，便于以后的使用，另外它是&#8220;假相&#8221;的删除，相当于windows中用delete删除数据是把数据放到回收站中，还可以恢复，当然如果这个时候重新启动系统（OS或者RDBMS），它也就不能恢复了！<br>而用truncate清除数据，内存中表空间中其被删除数据的表占用的空间会被立即释放，相当于windows中用shift+delete删除数据，不能够恢复！<br>4、truncate 调整high water mark 而delete不；truncate之后，TABLE的HWM退回到 INITIAL和NEXT的位置（默认）delete 则不可以。<br>5、truncate 只能对TABLE，delete 可以是table,view,synonym。<br>6、TRUNCATE TABLE 的对象必须是本模式下的，或者有drop any table的权限 而 DELETE 则是对象必须是本模式下的，或被授予 DELETE ON SCHEMA.TABLE 或DELETE ANY TABLE的权限。<br>7、在外层中，truncate或者delete后，其占用的空间都将释放。<br>8、truncate和delete只删除数据，而drop则删除整个表（结构和数据）。</span></font></div>
<img src ="http://www.cnitblog.com/skl/aggbug/53058.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/skl/" target="_blank">单</a> 2008-12-26 10:15 <a href="http://www.cnitblog.com/skl/archive/2008/12/26/53058.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL语句去掉重复记录，获取重复记录 </title><link>http://www.cnitblog.com/skl/archive/2008/12/18/52749.html</link><dc:creator>单</dc:creator><author>单</author><pubDate>Thu, 18 Dec 2008 09:05:00 GMT</pubDate><guid>http://www.cnitblog.com/skl/archive/2008/12/18/52749.html</guid><wfw:comment>http://www.cnitblog.com/skl/comments/52749.html</wfw:comment><comments>http://www.cnitblog.com/skl/archive/2008/12/18/52749.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/skl/comments/commentRss/52749.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/skl/services/trackbacks/52749.html</trackback:ping><description><![CDATA[<span style="COLOR: #008080">--</span><span style="COLOR: #008080">查询一个表中有效去掉重复的记录，UserID为自增长主键，RoleID为重复字段</span><span style="COLOR: #008080"><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff00ff">MIN</span><span style="COLOR: #000000">(UserID)&nbsp;</span><span style="COLOR: #0000ff">AS</span><span style="COLOR: #000000">&nbsp;UserID,&nbsp;RoleID&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;tmpTable&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;RoleID<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">SELECT</span><span style="COLOR: #000000">&nbsp;RoleID&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;tmpTable&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;RoleID&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">)<br><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cnblogs.com/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;</span><span style="COLOR: #808080">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">FROM</span><span style="COLOR: #000000">&nbsp;tmpTable</span>
<img src ="http://www.cnitblog.com/skl/aggbug/52749.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/skl/" target="_blank">单</a> 2008-12-18 17:05 <a href="http://www.cnitblog.com/skl/archive/2008/12/18/52749.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle 创建自动增加主键的表 </title><link>http://www.cnitblog.com/skl/archive/2008/12/17/52726.html</link><dc:creator>单</dc:creator><author>单</author><pubDate>Wed, 17 Dec 2008 10:09:00 GMT</pubDate><guid>http://www.cnitblog.com/skl/archive/2008/12/17/52726.html</guid><wfw:comment>http://www.cnitblog.com/skl/comments/52726.html</wfw:comment><comments>http://www.cnitblog.com/skl/archive/2008/12/17/52726.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/skl/comments/commentRss/52726.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/skl/services/trackbacks/52726.html</trackback:ping><description><![CDATA[//创建表<br>create table t&nbsp;(pk number primary key,name varchar2(20));<br><br>//创建序列<br>create sequence t_seq&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;increment&nbsp;&nbsp; by&nbsp;&nbsp; 1&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; start&nbsp;&nbsp; with&nbsp;&nbsp; 1&nbsp;&nbsp; maxvalue&nbsp;&nbsp; 999999999;<br><br>//创建触发器<br>create trigger t_trigger before insert on t for each row<br>begin<br>select t_seq.nextval into :new.pk from dual; //or ( new.pk=t_seq.nextval)<br>end;<br><br>//插入记录<br>insert into t(name) values('aa');
<img src ="http://www.cnitblog.com/skl/aggbug/52726.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/skl/" target="_blank">单</a> 2008-12-17 18:09 <a href="http://www.cnitblog.com/skl/archive/2008/12/17/52726.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracel 的跨库导数据</title><link>http://www.cnitblog.com/skl/archive/2008/12/11/52535.html</link><dc:creator>单</dc:creator><author>单</author><pubDate>Thu, 11 Dec 2008 05:39:00 GMT</pubDate><guid>http://www.cnitblog.com/skl/archive/2008/12/11/52535.html</guid><wfw:comment>http://www.cnitblog.com/skl/comments/52535.html</wfw:comment><comments>http://www.cnitblog.com/skl/archive/2008/12/11/52535.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/skl/comments/commentRss/52535.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/skl/services/trackbacks/52535.html</trackback:ping><description><![CDATA[<p><br>1. 连接另一个数据库<br>CREATE PUBLIC DATABASE LINK 当地数据库名&nbsp; CONNECT TO 另一个数据库用户名 IDENTIFIED BY 密码 USING '(DESCRIPTION =<br>&nbsp;&nbsp;&nbsp;&nbsp; (ADDRESS_LIST =<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))&nbsp; （host ——主机名&nbsp; port——端口号）<br>&nbsp;&nbsp;&nbsp;&nbsp; )<br>&nbsp;&nbsp;&nbsp;&nbsp; (CONNECT_DATA =<br>(SERVICE_NAME = jcdsda4)&nbsp;&nbsp;&nbsp; （SERVICE_NAME——连接的数据库名）<br>&nbsp;&nbsp;&nbsp;&nbsp; )<br>&nbsp;&nbsp; )'</p>
<p>&nbsp;&nbsp; //drop PUBLIC DATABASE LINK conjcdsda4 <br>&nbsp;&nbsp; select * from <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#95;&#99;&#111;&#109;&#105;&#110;&#102;&#111;&#64;&#99;&#111;&#110;&#106;&#99;&#100;&#115;&#100;&#97;&#52;">t_cominfo@conjcdsda4</a><br>&nbsp;&nbsp; <br>2.找到所需表的表结构，再创建表结构</p>
<p>3.将表里的数据导入创建的表中&nbsp; <br>insert into T_COMINFO select&nbsp; *&nbsp; from <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#95;&#99;&#111;&#109;&#105;&#110;&#102;&#111;&#64;&#99;&#111;&#110;&#106;&#99;&#100;&#115;&#100;&#97;&#52;">t_cominfo@conjcdsda4</a><br></p>
<img src ="http://www.cnitblog.com/skl/aggbug/52535.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/skl/" target="_blank">单</a> 2008-12-11 13:39 <a href="http://www.cnitblog.com/skl/archive/2008/12/11/52535.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>