<?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: How to generate all strings of balanced parentheses in SQL</title>
	<atom:link href="http://oraqa.com/2008/06/16/how-to-generating-all-strings-of-balanced-parentheses-in-sql/feed/" rel="self" type="application/rss+xml" />
	<link>http://oraqa.com/2008/06/16/how-to-generating-all-strings-of-balanced-parentheses-in-sql/</link>
	<description>Oracle Question and Answer</description>
	<lastBuildDate>Mon, 19 Dec 2011 14:21:07 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: newkid</title>
		<link>http://oraqa.com/2008/06/16/how-to-generating-all-strings-of-balanced-parentheses-in-sql/comment-page-1/#comment-277</link>
		<dc:creator>newkid</dc:creator>
		<pubDate>Fri, 25 Jun 2010 14:13:07 +0000</pubDate>
		<guid isPermaLink="false">http://oraqa.com/?p=259#comment-277</guid>
		<description>forgot to put code in the pre tag:
&lt;pre&gt;
variable input number
exec :input :=5;

WITH
t (str,left_cnt,right_cnt) AS (
SELECT &#039;(&#039;,1,0 FROM DUAL
UNION ALL
SELECT CAST(t.str&#124;&#124;new_str AS VARCHAR2(20))
      ,left_cnt + DECODE(new_str,&#039;(&#039;,1,0)
      ,right_cnt + DECODE(new_str,&#039;)&#039;,1,0)
 FROM t,(SELECT &#039;(&#039; AS new_str FROM DUAL UNION ALL SELECT &#039;)&#039; AS new_str FROM DUAL)
WHERE new_str = &#039;(&#039; AND left_cnt&lt;5
      OR new_str = &#039;)&#039; AND right_cnt&lt;5 AND right_cnt&lt;left_cnt
)
SELECT * FROM T WHERE left_cnt=5 AND right_cnt=5;

&lt;pre&gt;</description>
		<content:encoded><![CDATA[<p>forgot to put code in the pre tag:</p>
<pre>
variable input number
exec :input :=5;

WITH
t (str,left_cnt,right_cnt) AS (
SELECT '(',1,0 FROM DUAL
UNION ALL
SELECT CAST(t.str||new_str AS VARCHAR2(20))
      ,left_cnt + DECODE(new_str,'(',1,0)
      ,right_cnt + DECODE(new_str,')',1,0)
 FROM t,(SELECT '(' AS new_str FROM DUAL UNION ALL SELECT ')' AS new_str FROM DUAL)
WHERE new_str = '(' AND left_cnt&lt;5
      OR new_str = ')' AND right_cnt&lt;5 AND right_cnt&lt;left_cnt
)
SELECT * FROM T WHERE left_cnt=5 AND right_cnt=5;
</pre>
<pre></pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: newkid</title>
		<link>http://oraqa.com/2008/06/16/how-to-generating-all-strings-of-balanced-parentheses-in-sql/comment-page-1/#comment-276</link>
		<dc:creator>newkid</dc:creator>
		<pubDate>Fri, 25 Jun 2010 14:12:23 +0000</pubDate>
		<guid isPermaLink="false">http://oraqa.com/?p=259#comment-276</guid>
		<description>11GR2:

variable input number
exec :input :=5;

WITH
t (str,left_cnt,right_cnt) AS (
SELECT &#039;(&#039;,1,0 FROM DUAL
UNION ALL
SELECT CAST(t.str&#124;&#124;new_str AS VARCHAR2(20))
      ,left_cnt + DECODE(new_str,&#039;(&#039;,1,0)
      ,right_cnt + DECODE(new_str,&#039;)&#039;,1,0)
 FROM t,(SELECT &#039;(&#039; AS new_str FROM DUAL UNION ALL SELECT &#039;)&#039; AS new_str FROM DUAL)
WHERE new_str = &#039;(&#039; AND left_cnt&lt;5
      OR new_str = &#039;)&#039; AND right_cnt&lt;5 AND right_cnt&lt;left_cnt
)
SELECT * FROM T WHERE left_cnt=5 AND right_cnt=5;</description>
		<content:encoded><![CDATA[<p>11GR2:</p>
<p>variable input number<br />
exec :input :=5;</p>
<p>WITH<br />
t (str,left_cnt,right_cnt) AS (<br />
SELECT &#8216;(&#8217;,1,0 FROM DUAL<br />
UNION ALL<br />
SELECT CAST(t.str||new_str AS VARCHAR2(20))<br />
      ,left_cnt + DECODE(new_str,&#8217;(',1,0)<br />
      ,right_cnt + DECODE(new_str,&#8217;)',1,0)<br />
 FROM t,(SELECT &#8216;(&#8217; AS new_str FROM DUAL UNION ALL SELECT &#8216;)&#8217; AS new_str FROM DUAL)<br />
WHERE new_str = &#8216;(&#8217; AND left_cnt&lt;5<br />
      OR new_str = &#8216;)&#8217; AND right_cnt&lt;5 AND right_cnt&lt;left_cnt<br />
)<br />
SELECT * FROM T WHERE left_cnt=5 AND right_cnt=5;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

