﻿<?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-心湖里的一条小鱼——我的Java家园-随笔分类-Oracle的狗窝</title><link>http://www.blogjava.net/jinhualee/category/6524.html</link><description>没事就说说Java；有事就通过Java编程赚点生活费。</description><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 03:08:12 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 03:08:12 GMT</pubDate><ttl>60</ttl><item><title>Oracle学习笔记（4）—损坏数据块进行检测和修复</title><link>http://www.blogjava.net/jinhualee/archive/2006/07/16/58225.html</link><dc:creator>心湖里的一条鱼</dc:creator><author>心湖里的一条鱼</author><pubDate>Sun, 16 Jul 2006 03:13:00 GMT</pubDate><guid>http://www.blogjava.net/jinhualee/archive/2006/07/16/58225.html</guid><wfw:comment>http://www.blogjava.net/jinhualee/comments/58225.html</wfw:comment><comments>http://www.blogjava.net/jinhualee/archive/2006/07/16/58225.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jinhualee/comments/commentRss/58225.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jinhualee/services/trackbacks/58225.html</trackback:ping><description><![CDATA[待写<img src ="http://www.blogjava.net/jinhualee/aggbug/58225.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jinhualee/" target="_blank">心湖里的一条鱼</a> 2006-07-16 11:13 <a href="http://www.blogjava.net/jinhualee/archive/2006/07/16/58225.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle学习笔记（3）—几个比较有用的命令。</title><link>http://www.blogjava.net/jinhualee/archive/2006/07/14/58199.html</link><dc:creator>心湖里的一条鱼</dc:creator><author>心湖里的一条鱼</author><pubDate>Fri, 14 Jul 2006 07:32:00 GMT</pubDate><guid>http://www.blogjava.net/jinhualee/archive/2006/07/14/58199.html</guid><wfw:comment>http://www.blogjava.net/jinhualee/comments/58199.html</wfw:comment><comments>http://www.blogjava.net/jinhualee/archive/2006/07/14/58199.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jinhualee/comments/commentRss/58199.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jinhualee/services/trackbacks/58199.html</trackback:ping><description><![CDATA[1，手工重新编译视图：<br />   <font face="Courier New">alter view emp_dept compile;<br /></font>2,手工重新编译存储过程和函数；<br /> <font face="Courier New"> alter procedure p_prodname compile;<br /></font>3,手工重新编译包：<br />   <font size="2"><font face="Courier New">ALTER PACKAGE acct_mgmt COMPILE BODY;<br />  ALTER PACKAGE acct_mgmt COMPILE PACKAGE;<br /></font></font><img src ="http://www.blogjava.net/jinhualee/aggbug/58199.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jinhualee/" target="_blank">心湖里的一条鱼</a> 2006-07-14 15:32 <a href="http://www.blogjava.net/jinhualee/archive/2006/07/14/58199.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle学习笔记（2）—约束延迟（constraints deffered）</title><link>http://www.blogjava.net/jinhualee/archive/2006/07/14/58187.html</link><dc:creator>心湖里的一条鱼</dc:creator><author>心湖里的一条鱼</author><pubDate>Fri, 14 Jul 2006 06:41:00 GMT</pubDate><guid>http://www.blogjava.net/jinhualee/archive/2006/07/14/58187.html</guid><wfw:comment>http://www.blogjava.net/jinhualee/comments/58187.html</wfw:comment><comments>http://www.blogjava.net/jinhualee/archive/2006/07/14/58187.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/jinhualee/comments/commentRss/58187.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jinhualee/services/trackbacks/58187.html</trackback:ping><description><![CDATA[
		<p>约束延期是一个对主键、唯一键等约束进行延迟检查的功能。可以使用该功能将约束检查延迟到事务提交时，而不是在进行DDL操作之后立即进行检查。所以对约束检查也有这两个选项：延迟和立即。<br /> 比如对于表t_test<br /> <font face="Courier New">Name Type         Nullable Default Comments <br />---- ------------ -------- ------- -------- <br />NAME VARCHAR2(12) Y                         <br />AGE  NUMBER(5)    Y</font>                         <br /><br />通过这个语句增加一个延迟检查的主键约束：<br /><font face="Courier New">alter table t_test add constraint pk_name primary key (name) <font color="#ff0000">DEFERRABLE INITIALLY DEFERRED</font><font color="#000000">;<br /><br />执行如下操作：<br />SQL&gt;insert into t_test values ('Tom',32);</font></font></p>
		<p>
				<font face="Courier New">
						<font color="#000000">1 row inserted</font>
				</font>
		</p>
		<p>
				<font face="Courier New">
						<font color="#000000">SQL&gt; commit;</font>
				</font>
		</p>
		<p>
				<font face="Courier New">
						<font color="#000000">Commit complete</font>
				</font>
		</p>
		<p>
				<font face="Courier New">
						<font color="#000000">SQL&gt; select * from t_test;</font>
				</font>
		</p>
		<p>
				<font face="Courier New">
						<font color="#000000">NAME            AGE<br />------------ ------<br />Tom        32</font>
				</font>
		</p>
		<p>
				<font face="Courier New">
						<font color="#000000">SQL&gt; insert into t_test values ('Tom',32);</font>
				</font>
		</p>
		<p>
				<font face="Courier New">
						<font color="#000000">1 row inserted</font>
				</font>
		</p>
		<p>
				<font face="Courier New">
						<font color="#000000">SQL&gt; commit;</font>
				</font>
		</p>
		<p>
				<font face="Courier New">
						<font color="#000000">commit</font>
				</font>
		</p>
		<p>
				<font face="Courier New">
						<font color="#000000">ORA-02091: 事务处理已重算<br />ORA-00001: 违反唯一约束条件 (SCOTT.PK_NAME)<br /><br /><br />这个唯一约束条件的检查时在commit时候进行检查的，而不是在insert了违反约束条件的值之后马上进行检查。</font>
				</font>
		</p>
<img src ="http://www.blogjava.net/jinhualee/aggbug/58187.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jinhualee/" target="_blank">心湖里的一条鱼</a> 2006-07-14 14:41 <a href="http://www.blogjava.net/jinhualee/archive/2006/07/14/58187.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle学习笔记（1）—视图</title><link>http://www.blogjava.net/jinhualee/archive/2006/07/14/58115.html</link><dc:creator>心湖里的一条鱼</dc:creator><author>心湖里的一条鱼</author><pubDate>Fri, 14 Jul 2006 02:37:00 GMT</pubDate><guid>http://www.blogjava.net/jinhualee/archive/2006/07/14/58115.html</guid><wfw:comment>http://www.blogjava.net/jinhualee/comments/58115.html</wfw:comment><comments>http://www.blogjava.net/jinhualee/archive/2006/07/14/58115.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jinhualee/comments/commentRss/58115.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jinhualee/services/trackbacks/58115.html</trackback:ping><description><![CDATA[1，Oracle是可以通过视图来修改Base table的。所谓base table就是用来构建视图的表，也就是视图的数据来源表。但是这种修改是有条件的。比如：<br />   <font face="Courier New"><font color="#ff1493">create view v_emp as select empno,ename,job,deptno from emp where deptno=10 </font><font color="#000080">with check option constraint emp_cnst;</font></font><font color="#000000"><br />   如果有这个限制，那么通过视图</font><font color="#000000">v_emp 插入数据的deptno字段的值必须是10，否则就会报“ORA-01402: 视图 WITH CHECK OPTIDN 违反 where 子句”的异常。<br /><br />2，联结视图：<br />  <font face="Courier New"> create view dept1_staff as select e.ename, e.empno, e.job, d.deptno, d.dname from emp e,dept d where e.deptno in (10,30) and e.deptno = d.deptno；</font><br />  将两个表的数据联结起来，看起来应该是一个内联结（Inner joint）。<br />  对于联结视图（Joint view）的修改规则稍显复杂，设计到所谓key_preserved table的概念。通过联结视图来修改基表，只有那些key_preserved 的表才能被修改。上述创建视图语句中emp和dept通过deptno进行联结构成视图时，emp就是key_preserved 表，而dept不是。为什么？因为在<font face="Courier New">dept1_staff </font>中empno的值唯一的而deptno不是唯一的。所以emp是key_preserved 而dept不是。因此只能通过该视图来修改emp，而不能修改dept的数据。<br /><br />3,Oracle视图非常强大的功能之一在于其可以创建一个带有错误的视图。比如说视图里的字段在基表里不存在，该视图仍然可以创建成功，但是非法的且无法执行。当基表里加入了该字段，或者说某个字段修改成视图里的该字段名称，那么视图马上就可以成为合法的。这个功能很有意思。<br />例子：<br />  创建基表： create table v_test (name varchar2(32),age number(12));<br />  创建带错误的视图：<br />   create <font color="#ff0000">force</font> view view_test as select name,age,address from v_test;（注意加上force选项）<br />  由于address字段在v_test里不存在，所以会报warning: View created with compilation errors的警告，而且执行select * from view_test;时会报“ORA-04063: view "SCOTT.VIEW_TEST" 有错误”的异常。<br />但是如果在v_test里加上address字段，那么视图就会合法。<br />对基表进行修改：<br /> alter table v_test add (address varchar2(128));<br /><br />现在再执行select * from view_test；就会执行成功了。<br /><br /></font><img src ="http://www.blogjava.net/jinhualee/aggbug/58115.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jinhualee/" target="_blank">心湖里的一条鱼</a> 2006-07-14 10:37 <a href="http://www.blogjava.net/jinhualee/archive/2006/07/14/58115.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle学习笔记（序）</title><link>http://www.blogjava.net/jinhualee/archive/2006/07/14/58109.html</link><dc:creator>心湖里的一条鱼</dc:creator><author>心湖里的一条鱼</author><pubDate>Fri, 14 Jul 2006 02:19:00 GMT</pubDate><guid>http://www.blogjava.net/jinhualee/archive/2006/07/14/58109.html</guid><wfw:comment>http://www.blogjava.net/jinhualee/comments/58109.html</wfw:comment><comments>http://www.blogjava.net/jinhualee/archive/2006/07/14/58109.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jinhualee/comments/commentRss/58109.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jinhualee/services/trackbacks/58109.html</trackback:ping><description><![CDATA[
		<p>看Oracle的英文帮助文档断断续续有4年时间了。总体感觉是浅显易懂，没有多少深奥的技术术语。所以建议对Oracle感兴趣的哥们最好是看英文帮助文档。最全面，最权威。这四年时间，经历了几家公司，职位一直做到分管软件研发的副总经理（当然不是很大公司），期间还要写博士论文和博士答辩，儿子出生，毕业找工作，买房装修房子，搬家。呵呵，一想起来这几年过的还真是很充实。现在是除了车没有，其他该有的都有了。很满足滴说^_^。<br />好了言归正传，前几年写了近50页的Oracle学习笔记，在一次装机子的过程中全丢了，伤心欲绝，不说了。从现在开始，就借BlogJava的地儿，重新开始Oracle笔记的记录。</p>
<img src ="http://www.blogjava.net/jinhualee/aggbug/58109.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jinhualee/" target="_blank">心湖里的一条鱼</a> 2006-07-14 10:19 <a href="http://www.blogjava.net/jinhualee/archive/2006/07/14/58109.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>