<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>爱思特 &#187; Oracle</title>
	<atom:link href="http://www.astesys.com/category/database/oracle/feed" rel="self" type="application/rss+xml" />
	<link>http://www.astesys.com</link>
	<description>专业的软件开发知识库</description>
	<lastBuildDate>Wed, 26 May 2010 02:22:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		
<!-- Start Of Script Generated By WP-PostViews Plus -->
<script type='text/javascript' src='http://www.astesys.com/wp-includes/js/jquery/jquery.js?ver=1.3.2'></script>
<script type="text/javascript">
/* <![CDATA[ */
/* ]]> */
</script>
<!-- End Of Script Generated By WP-PostViews Plus -->
	<item>
		<title>总结：Oracle中视图的创建和处理方法（其他db参考）</title>
		<link>http://www.astesys.com/database/oracle/104.html</link>
		<comments>http://www.astesys.com/database/oracle/104.html#comments</comments>
		<pubDate>Mon, 27 Apr 2009 03:32:00 +0000</pubDate>
		<dc:creator>xums</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[视图]]></category>

		<guid isPermaLink="false">http://www.astesys.com/database/oracle/104.html</guid>
		<description><![CDATA[
<!-- Start Of Script Generated By WP-PostViews Plus -->
<script type="text/javascript">
/* <![CDATA[ */
/* ]]> */
</script>
<!-- End Of Script Generated By WP-PostViews Plus -->
以前做项目都是直接从表中检索几个表中的数据，几乎没有用到视图这个概念，也没有觉得视图有什么好的，最近由于项目的需要，建立视图，才发现原来建立了视图后，整个后台就变得非常简单，易于维护，直接就是单表查询！


Related posts:<ol><li><a href='http://www.astesys.com/database/db2/324.html' rel='bookmark' title='Permanent Link: DB2中case的用法'>DB2中case的用法</a></li>
<li><a href='http://www.astesys.com/softdev/java/372.html' rel='bookmark' title='Permanent Link: eclipse 插件及技巧 整理一'>eclipse 插件及技巧 整理一</a></li>
<li><a href='http://www.astesys.com/database/db2/107.html' rel='bookmark' title='Permanent Link: db2中是否有类似于oracle中nvl的函数使用总结'>db2中是否有类似于oracle中nvl的函数使用总结</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<!-- Start Of Script Generated By WP-PostViews Plus -->
<script type="text/javascript">
/* <![CDATA[ */
/* ]]> */
</script>
<!-- End Of Script Generated By WP-PostViews Plus -->
<p><span class="Apple-style-span" style="word-spacing: 0px; font: 14px/26px 宋体; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">以前做项目都是直接从表中检索几个表中的数据，几乎没有用到视图这个概念，也没有觉得视图有什么好的，最近由于项目的需要，建立视图，才发现原来建立了视图后，整个后台就变得非常简单，易于维护，直接就是单表查询！</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">现在为视图做个总结：</p>
<p> </span><span class="Apple-style-span" style="word-spacing: 0px; font: 14px/26px 宋体; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">&#160;</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">&#160;</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">视图是基于一个表或多个表或视图的逻辑表，本身不包含数据，通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表，Oracle的数据库对象分为五种：表，视图，序列，索引和同义词。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">视图是存储在数据字典里的一条select语句。通过创建视图可以提取数据的逻辑上的集合或组合。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px"><strong style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">视图的优点：</strong></p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">1.对数据库的访问，因为视图可以有选择性的选取数据库里的一部分。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">2.用户通过简单的查询可以从复杂查询中得到结果。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">3.维护数据的独立性，试图可从多个表检索数据。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">4.对于相同的数据可产生不同的视图。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px"><strong style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">视图分为简单视图和复杂视图：</strong></p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">1、简单视图只从单表里获取数据，复杂视图从多表；</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">2、简单视图不包含函数和数据组，复杂视图包含；</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">3、简单视图可以实现DML操作，复杂视图不可以。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px"><strong style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">视图的创建：</strong></p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">
<table style="padding-right: 0px; padding-left: 0px; font-size: 12px; padding-bottom: 0px; margin: 0px; padding-top: 0px" cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="#999999" border="1">
<tbody style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<tr style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<td class="code" style="padding-right: 0px; padding-left: 0px; font-size: 12px; padding-bottom: 0px; margin: 0px; padding-top: 0px" bgcolor="#e6e6e6">
<pre style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">[(alias[, alias]...)]
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">AS subquery<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />[WITH CHECK OPTION [CONSTRAINT constraint]]<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />[WITH READ ONLY]
</pre>
</td>
</tr>
</tbody>
</table>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px" align="center">
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">其中：OR REPLACE&#160;&#160;&#160; ：若所创建的试图已经存在，ORACLE自动重建该视图；</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">FORCE：不管基表是否存在ORACLE都会自动创建该视图；</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">NOFORCE&#160;&#160;&#160;&#160;&#160;&#160; ：只有基表都存在ORACLE才会创建该视图：</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">alias：为视图产生的列定义的别名；</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">subquery&#160; ：一条完整的SELECT语句，可以在该语句中定义别名；</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">WITH CHECK OPTION&#160; ：插入或修改的数据行必须满足视图定义的约束；</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">WITH READ ONLY&#160;&#160;&#160;&#160;&#160;&#160;&#160; ：该视图上不能进行任何DML操作。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">例如：</p>
<table style="padding-right: 0px; padding-left: 0px; font-size: 12px; padding-bottom: 0px; margin: 0px; padding-top: 0px" cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="#999999" border="1">
<tbody style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<tr style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<td class="code" style="padding-right: 0px; padding-left: 0px; font-size: 12px; padding-bottom: 0px; margin: 0px; padding-top: 0px" bgcolor="#e6e6e6">
<pre style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"><br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />CREATE OR REPLACE VIEW dept_sum_vw(name,minsal,maxsal,avgsal)<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />AS SELECT d.dname,min(e.sal),max(e.sal),avg(e.sal)<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />FROM&#160;&#160;&#160; emp e,dept d<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />WHERE e.deptno=d.deptno<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />GROUP BY d.dname;</pre>
</td>
</tr>
</tbody>
</table>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px" align="center">
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px"><strong style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">视图的定义原则：</strong></p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">1.视图的查询可以使用复杂的SELECT语法，包括连接/分组查询和子查询；</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">2.在没有WITH CHECK OPTION和 READ ONLY 的情况下，查询中不能使用ORDER BY 子句；</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">3.如果没有为CHECK OPTION约束命名，系统会自动为之命名，形式为SYS_Cn；</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">4.OR REPLACE选项可以不删除原视图便可更改其定义并重建，或重新授予对象权限。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px"><strong style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">视图的查询：</strong></p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">视图创建成功后，可以从视图中检索数据，这点和从表中检索数据一样。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">还可以查询视图的全部信息和指定的数据行和列。 如：检索数据：</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">
<table style="padding-right: 0px; padding-left: 0px; font-size: 12px; padding-bottom: 0px; margin: 0px; padding-top: 0px" cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="#999999" border="1">
<tbody style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<tr style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<td class="code" style="padding-right: 0px; padding-left: 0px; font-size: 12px; padding-bottom: 0px; margin: 0px; padding-top: 0px" bgcolor="#e6e6e6">
<pre style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">SQL&gt;SELECT * FROM dept_sum_vw；</pre>
</td>
</tr>
</tbody>
</table>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px" align="center">
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px"><strong style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">查询视图定义：</strong></p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">
<table style="padding-right: 0px; padding-left: 0px; font-size: 12px; padding-bottom: 0px; margin: 0px; padding-top: 0px" cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="#999999" border="1">
<tbody style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<tr style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<td class="code" style="padding-right: 0px; padding-left: 0px; font-size: 12px; padding-bottom: 0px; margin: 0px; padding-top: 0px" bgcolor="#e6e6e6">
<pre style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">SELECT view_name,text from user_views;</pre>
</td>
</tr>
</tbody>
</table>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px" align="center">
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">其中text显示的内容为视图定义的SELECT语句，可通过DESC USER_VIEWS 得到相关信息。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px"><strong style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">修改视图：</strong></p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">通过OR REPLACE 重新创建同名视图即可。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px"><strong style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">视图上的DML 操作：</strong></p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px"><strong style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">DML操作应遵循的原则：</strong></p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">1.简单视图可以执行DML操作；</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">2.在视图包含GROUP 函数，GROUP BY子句，DISTINCT关键字时不能</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">删除数据行；</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">3.在视图不出现下列情况时可通过视图修改基表数据或插入数据：</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">a.视图中包含GROUP 函数，GROUP BY子句，DISTINCT关键字；</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">b.使用表达式定义的列；</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">c.ROWNUM伪列。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">d.基表中未在视图中选择的其他列定义为非空且无默认值。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">视图可用于保持数据库的完整性，但作用有限。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">通过视图执行引用完整性约束可在数据库级执行约束。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px"><strong style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">WITH CHECK OPTION 子句限定：</strong></p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">通过视图执行的INSERTS和UPDATES操作不能创建该视图检索不到的数据行，因为它会对插入或修改的数据行执行完整性约束和数据有效性检查。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">例如：</p>
<table style="padding-right: 0px; padding-left: 0px; font-size: 12px; padding-bottom: 0px; margin: 0px; padding-top: 0px" cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="#999999" border="1">
<tbody style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<tr style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<td class="code" style="padding-right: 0px; padding-left: 0px; font-size: 12px; padding-bottom: 0px; margin: 0px; padding-top: 0px" bgcolor="#e6e6e6">
<pre style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"><br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />CREATE OR REPLACE VIEW vw_emp20<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />AS SELECT * FROM emp<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />WHERE deptno=20<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />WITH CHECK OPTION constraint vw_emp20_ck;</pre>
</td>
</tr>
</tbody>
</table>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px" align="center">
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">视图 已建立。</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">查询结果：</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">
<table style="padding-right: 0px; padding-left: 0px; font-size: 12px; padding-bottom: 0px; margin: 0px; padding-top: 0px" cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="#999999" border="1">
<tbody style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<tr style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<td class="code" style="padding-right: 0px; padding-left: 0px; font-size: 12px; padding-bottom: 0px; margin: 0px; padding-top: 0px" bgcolor="#e6e6e6">
<pre style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">SELECT empno,ename,job FROM vw_emp20;<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" /><br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />EMPNO&#160;&#160;&#160; ENAME&#160;&#160;&#160; JOB<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />---------------------&#160; -------------- -------------<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />7369&#160;&#160;&#160;&#160; SMITH&#160;&#160;&#160; CLERK<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />7566&#160;&#160;&#160;&#160; JONES&#160;&#160; MANAGER<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />7902&#160;&#160;&#160;&#160; FORD&#160;&#160;&#160; ANALYST</pre>
</td>
</tr>
</tbody>
</table>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px" align="center">
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">修改：</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">
<table style="padding-right: 0px; padding-left: 0px; font-size: 12px; padding-bottom: 0px; margin: 0px; padding-top: 0px" cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="#999999" border="1">
<tbody style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<tr style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<td class="code" style="padding-right: 0px; padding-left: 0px; font-size: 12px; padding-bottom: 0px; margin: 0px; padding-top: 0px" bgcolor="#e6e6e6">
<pre style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"><br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />UPDATE vw_emp20<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />SET&#160;&#160;&#160;&#160;&#160;&#160;&#160; deptno=20<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" />WHERE&#160;&#160; empno=7902;<br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px" /></pre>
</td>
</tr>
</tbody>
</table>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px" align="center">
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">将产生错误：</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">UPDATE vw_emp20</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">*</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">ERROR 位于第一行：</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">ORA-01402：视图WITH CHECK OPTION 违反WHERE 子句</p>
<p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 10px 0px; text-indent: 28px; padding-top: 0px; border-right-width: 0px">视图的删除：DROP VIEW VIEW_NAME语句删除视图。删除视图的定义不影响基表中的数据。只有视图所有者和具备DROP VIEW权限的用户可以删除视图。视图被删除后，基于被删除视图的其他视图或应用将无效。</p>
<p></span></p>


<p>Related posts:<ol><li><a href='http://www.astesys.com/database/db2/324.html' rel='bookmark' title='Permanent Link: DB2中case的用法'>DB2中case的用法</a></li>
<li><a href='http://www.astesys.com/softdev/java/372.html' rel='bookmark' title='Permanent Link: eclipse 插件及技巧 整理一'>eclipse 插件及技巧 整理一</a></li>
<li><a href='http://www.astesys.com/database/db2/107.html' rel='bookmark' title='Permanent Link: db2中是否有类似于oracle中nvl的函数使用总结'>db2中是否有类似于oracle中nvl的函数使用总结</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.astesys.com/database/oracle/104.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于Oracle的Dual表</title>
		<link>http://www.astesys.com/database/oracle/60.html</link>
		<comments>http://www.astesys.com/database/oracle/60.html#comments</comments>
		<pubDate>Thu, 23 Apr 2009 16:46:00 +0000</pubDate>
		<dc:creator>xums</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Dual]]></category>

		<guid isPermaLink="false">http://www.astesys.com/database/oracle/60.html</guid>
		<description><![CDATA[
<!-- Start Of Script Generated By WP-PostViews Plus -->
<script type="text/javascript">
/* <![CDATA[ */
/* ]]> */
</script>
<!-- End Of Script Generated By WP-PostViews Plus -->
很多人关心的是Dual的内部实现，这Oracle自然是不会披露的，不过我们可以从一些有限的资料获得关于Dual的印象


Related posts:<ol><li><a href='http://www.astesys.com/database/oracle/104.html' rel='bookmark' title='Permanent Link: 总结：Oracle中视图的创建和处理方法（其他db参考）'>总结：Oracle中视图的创建和处理方法（其他db参考）</a></li>
<li><a href='http://www.astesys.com/database/db2/107.html' rel='bookmark' title='Permanent Link: db2中是否有类似于oracle中nvl的函数使用总结'>db2中是否有类似于oracle中nvl的函数使用总结</a></li>
<li><a href='http://www.astesys.com/database/db2/324.html' rel='bookmark' title='Permanent Link: DB2中case的用法'>DB2中case的用法</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<!-- Start Of Script Generated By WP-PostViews Plus -->
<script type="text/javascript">
/* <![CDATA[ */
/* ]]> */
</script>
<!-- End Of Script Generated By WP-PostViews Plus -->
<p><span class="Apple-style-span" style="word-spacing: 0px; font: 14px/25px 宋体; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; text-align: left; orphans: 2; widows: 2; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0">
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word">很多人关心的是Dual的内部实现，这Oracle自然是不会披露的，不过我们可以从一些有限的资料获得关于Dual的印象：</p>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word">
<table style="border-right: rgb(204,204,204) 1px solid; table-layout: fixed; padding-right: 0px; border-top: rgb(204,204,204) 1px solid; padding-left: 0px; font-size: 12px; padding-bottom: 0px; margin: 0px auto; border-left: rgb(204,204,204) 1px solid; width: 80%; color: rgb(51,51,51); line-height: 18px; padding-top: 0px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(204,204,204); text-align: left; word-wrap: break-word" cellspacing="0" cellpadding="6" width="95%" align="center" border="0">
<tbody style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; word-wrap: break-word">
<tr style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; word-wrap: break-word">
<td style="padding-right: 0px; padding-left: 5px; padding-bottom: 0px; margin: 0px; padding-top: 0px; font-family: verdana, arial, helvetica, sans-serif; background-color: rgb(242,242,242); word-wrap: break-word" bgcolor="#f3f3f3"><span style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(0,0,0); padding-top: 0px; word-wrap: break-word" twffan="done">There is internalized code that makes this happen. Code checks that ensure that a table scan of SYS.DUAL only returns one row. Svrmgrl behaviour is incorrect but this is now an obsolete product.
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word"></p>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word">The base issue you should always remember and keep is: DUAL table should always have 1 ROW. Dual is a normal table with one dummy column of varchar2(1).               <br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; word-wrap: break-word" />This is basically used from several applications as a pseudo table for getting results from a select statement that use functions like sysdate or other prebuilt or application functions.<span class="Apple-converted-space">&#160;</span>                <br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; word-wrap: break-word" />If DUAL has no rows at all some applications (that use DUAL) may fail with NO_DATA_FOUND exception. If DUAL has more than 1 row then applications (that use DUAL) may fail with TOO_MANY_ROWS exception.</p>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word">So DUAL should ALWAYS have 1 and only 1 row.</p>
<p>           </span></td>
</tr>
</tbody>
</table>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word">
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word">&#160;&#160;&#160; 前两句话最为关键，实际上我们也容易猜到，Oracle通过内部代码来实现对于DUAL的访问和控制，并且通过Internal Code使得这个表与众不同。</p>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word">&#160;&#160;&#160; Tom提到在Close了Database之后，可以看到这个表的内存地址及展现，这说明这个表的结构并不单纯：</p>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word">
<table style="border-right: rgb(204,204,204) 1px solid; table-layout: fixed; padding-right: 0px; border-top: rgb(204,204,204) 1px solid; padding-left: 0px; font-size: 12px; padding-bottom: 0px; margin: 0px auto; border-left: rgb(204,204,204) 1px solid; width: 80%; color: rgb(51,51,51); line-height: 18px; padding-top: 0px; border-bottom: rgb(204,204,204) 1px solid; background-color: rgb(204,204,204); text-align: left; word-wrap: break-word" cellspacing="0" cellpadding="6" width="95%" align="center" border="0">
<tbody style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; word-wrap: break-word">
<tr style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; word-wrap: break-word">
<td style="padding-right: 0px; padding-left: 5px; padding-bottom: 0px; margin: 0px; padding-top: 0px; font-family: verdana, arial, helvetica, sans-serif; background-color: rgb(242,242,242); word-wrap: break-word" bgcolor="#f3f3f3"><span style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; color: rgb(0,0,0); padding-top: 0px; word-wrap: break-word" twffan="done">SQL&gt; select * from dual;
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word">D               <br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; word-wrap: break-word" />-                <br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; word-wrap: break-word" />X</p>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word">SQL&gt; alter database close;</p>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word">Database altered.</p>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word">SQL&gt; select * from dual;</p>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word">ADDR&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; INDX&#160;&#160;&#160; INST_ID D               <br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; word-wrap: break-word" />&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &#8211;                <br style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px; word-wrap: break-word" />0A4F8858&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 1 X</p>
<p>           </span></td>
</tr>
</tbody>
</table>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word">
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word">&#160;&#160;&#160; 注意不要更改Dual表的内容，否则可能引起数据库的问题。</p>
<p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 10px 0px 0px; padding-top: 0px; word-wrap: break-word">&#160;&#160;&#160; 如果该表意外删除，可以通过设置初始化参数replication_dependency_tracking = FALSE，重启数据库来重建该表。</p>
<p> </span></p>


<p>Related posts:<ol><li><a href='http://www.astesys.com/database/oracle/104.html' rel='bookmark' title='Permanent Link: 总结：Oracle中视图的创建和处理方法（其他db参考）'>总结：Oracle中视图的创建和处理方法（其他db参考）</a></li>
<li><a href='http://www.astesys.com/database/db2/107.html' rel='bookmark' title='Permanent Link: db2中是否有类似于oracle中nvl的函数使用总结'>db2中是否有类似于oracle中nvl的函数使用总结</a></li>
<li><a href='http://www.astesys.com/database/db2/324.html' rel='bookmark' title='Permanent Link: DB2中case的用法'>DB2中case的用法</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.astesys.com/database/oracle/60.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
