<?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"
	>

<channel>
	<title>Brotherxiao's Home</title>
	<atom:link href="http://www.imdba.net/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.imdba.net/blog</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Tue, 05 Jan 2010 03:03:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
	<language>en</language>
			<item>
		<title>11gr2 IGNORE_ROW_ON_DUPKEY_INDEX hint bug</title>
		<link>http://www.imdba.net/blog/?p=158</link>
		<comments>http://www.imdba.net/blog/?p=158#comments</comments>
		<pubDate>Sun, 27 Sep 2009 07:48:16 +0000</pubDate>
		<dc:creator>brotherxiao</dc:creator>
		
		<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://www.imdba.net/blog/?p=158</guid>
		<description><![CDATA[Oracle 11gR2 New feature中引入了IGNORE_ROW_ON_DUPKEY_INDEX hint以解决insert &#8230;select 碰到的唯一性冲突问题，测试了一把，没有成功。看来新功能还有带检验。
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning and Real Application Testing options
SQL&#62; show user
USER is "SYS"
SQL&#62; create table t1 as select * from dba_objects;
Table created.
SQL&#62; select count(*) from t1;
COUNT(*)
----------
65690
SQL&#62; insert into t1 select * from t1 [...]]]></description>
			<content:encoded><![CDATA[<h5>Oracle 11gR2 New feature中引入了IGNORE_ROW_ON_DUPKEY_INDEX hint以解决insert &#8230;select 碰到的唯一性冲突问题，测试了一把，没有成功。看来新功能还有带检验。</h5>
<pre>Copyright (c) 1982, 2009, Oracle.  All rights reserved.</pre>
<pre>Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning and Real Application Testing options</pre>
<pre>SQL&gt; show user
USER is "SYS"</pre>
<pre>SQL&gt; create table t1 as select * from dba_objects;</pre>
<pre>Table created.</pre>
<pre>SQL&gt; select count(*) from t1;</pre>
<pre>COUNT(*)
----------
65690</pre>
<pre>SQL&gt; insert into t1 select * from t1 where rownum&lt;10000;</pre>
<pre>9999 rows created.</pre>
<pre>SQL&gt; commit;</pre>
<pre>Commit complete.</pre>
<pre>SQL&gt; select count(*) from t1;</pre>
<pre>COUNT(*)
----------
75689</pre>
<pre>SQL&gt; create table t2 as select * from t1 where 1=0;</pre>
<pre>Table created.</pre>
<pre>SQL&gt; alter table t2 add primary key(object_id);</pre>
<pre>Table altered.</pre>
<pre>SQL&gt; insert into t2 select * from t1;
insert into t2 select * from t1
*
ERROR at line 1:
ORA-00001: unique constraint (SYS.SYS_C007007) violated</pre>
<pre>SQL&gt; insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX */ into t2 select * from t1;
insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX */ into t2 select * from t1
*
ERROR at line 1:
ORA-00001: unique constraint (SYS.SYS_C007007) violated</pre>
<pre>SQL&gt; insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(t2,SYS_C007007) */ into t2
select * from t1;
insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(t2,SYS_C007007) */ into t2 select * from t1
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [qerltcInsertSelectRop_bad_state],
[], [], [], [], [], [], [], [], [], [], []</pre>
<pre>SQL&gt; insert into t2 select * from dba_objects;</pre>
<pre>65692 rows created.</pre>
<pre>SQL&gt; commit;</pre>
<pre>Commit complete.</pre>
<pre>SQL&gt; insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(t2,SYS_C007007) */ into t2
select * from t1;
insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(t2,SYS_C007007) */ into t2
select * from t1
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [qerltcInsertSelectRop_bad_state],<span style="color: #ff0000;">

[], [], [], [], [], [], [], [], [], [], []</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.imdba.net/blog/?feed=rss2&amp;p=158</wfw:commentRss>
		</item>
	</channel>
</rss>
