<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: PLS-00630 unsupported collection return types / 10G upgrade</title>
	<atom:link href="http://www.oraclelog.com/2007/12/21/oracle/pls-00630-unsupported-collection-return-types-10g-upgrade/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.oraclelog.com/2007/12/21/oracle/pls-00630-unsupported-collection-return-types-10g-upgrade/</link>
	<description>Oracle web log.</description>
	<lastBuildDate>Wed, 26 May 2010 17:20:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: karel Kolar</title>
		<link>http://www.oraclelog.com/2007/12/21/oracle/pls-00630-unsupported-collection-return-types-10g-upgrade/comment-page-1/#comment-4397</link>
		<dc:creator>karel Kolar</dc:creator>
		<pubDate>Mon, 15 Mar 2010 09:45:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.oraclelog.com/2007/12/21/oracle/pls-00630-unsupported-collection-return-types-10g-upgrade/#comment-4397</guid>
		<description>drop package ivan.x1;
drop type ivan.x11;
create or replace type ivan.x11 as object
(
aaa integer
,aaa2 varchar2(500)
,aaa3 date
,Constructor Function X11 Return Self As Result
)
;
/

CREATE OR REPLACE TYPE BODY IVAN.X11 AS

	Constructor Function X11 Return Self As Result Is
	Begin
		Return;
	End X11;
End;

/

create or replace package ivan.x1 as
	type cca is record(
		 a integer);

	type cc is table of ivan.x11;

	type cci is table of integer;

	type cc1 is record(
		 a integer
		,b cc);

	type a1 is table of cc1;

	function aaa return a1
		pipelined;
end;


create or replace package body ivan.x1 as

	function aaa return a1
		pipelined as
		ret    cc1;
		ob     ivan.x11 := ivan.x11();
		ob_tab cc := cc();
	begin
		ob.aaa := 900;
		ob_tab.extend;
		ob_tab(ob_tab.LAST) := ob;
	
		ob.aaa := 800;
		ob_tab.extend;
		ob_tab(ob_tab.LAST) := ob;
	
		ret.a := 11;
		ret.b := ob_tab;
	
		pipe row(ret);
		return;
	end;
end;

select * from table (ivan.x1.aaa);</description>
		<content:encoded><![CDATA[<p>drop package ivan.x1;<br />
drop type ivan.x11;<br />
create or replace type ivan.x11 as object<br />
(<br />
aaa integer<br />
,aaa2 varchar2(500)<br />
,aaa3 date<br />
,Constructor Function X11 Return Self As Result<br />
)<br />
;<br />
/</p>
<p>CREATE OR REPLACE TYPE BODY IVAN.X11 AS</p>
<p>	Constructor Function X11 Return Self As Result Is<br />
	Begin<br />
		Return;<br />
	End X11;<br />
End;</p>
<p>/</p>
<p>create or replace package ivan.x1 as<br />
	type cca is record(<br />
		 a integer);</p>
<p>	type cc is table of ivan.x11;</p>
<p>	type cci is table of integer;</p>
<p>	type cc1 is record(<br />
		 a integer<br />
		,b cc);</p>
<p>	type a1 is table of cc1;</p>
<p>	function aaa return a1<br />
		pipelined;<br />
end;</p>
<p>create or replace package body ivan.x1 as</p>
<p>	function aaa return a1<br />
		pipelined as<br />
		ret    cc1;<br />
		ob     ivan.x11 := ivan.x11();<br />
		ob_tab cc := cc();<br />
	begin<br />
		ob.aaa := 900;<br />
		ob_tab.extend;<br />
		ob_tab(ob_tab.LAST) := ob;</p>
<p>		ob.aaa := 800;<br />
		ob_tab.extend;<br />
		ob_tab(ob_tab.LAST) := ob;</p>
<p>		ret.a := 11;<br />
		ret.b := ob_tab;</p>
<p>		pipe row(ret);<br />
		return;<br />
	end;<br />
end;</p>
<p>select * from table (ivan.x1.aaa);</p>
]]></content:encoded>
	</item>
</channel>
</rss>
