<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEENSXk8eCp7ImA9WhRaE0s.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810</id><updated>2012-02-16T10:01:38.770+05:30</updated><category term="AJAX" /><category term="Oracle SQL" /><category term="Oracle DBA" /><category term="VB.NET" /><category term="Oracle PL/SQL" /><category term="Ora-Codes" /><category term="Regular Expression" /><category term="Java Script" /><category term="ASP.NET" /><category term="ADO.NET" /><category term="Oracle Tips" /><title>Lets Develop in Oracle</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://nimishgarg.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>129</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/LetsDevelopInOraclesqlAndPl/sql" /><feedburner:info uri="letsdevelopinoraclesqlandpl/sql" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>LetsDevelopInOraclesqlAndPl/sql</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;D0EMQ3g4fyp7ImA9WhRaEkQ.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-3022198905019899899</id><published>2012-02-14T21:10:00.000+05:30</published><updated>2012-02-15T14:18:02.637+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-15T14:18:02.637+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ora-Codes" /><title>ORA-00027 cannot kill current session</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;pre&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;b&gt;ORA-00027 cannot kill current session&lt;/b&gt;
Cause: An attempt was made to use ALTER SYSTEM KILL SESSION to kill the
current session.
Action: If it is necessary to kill the current session, do so from another session.

&lt;b&gt;ORA-00027 comes under "Oracle Database Server Messages".&amp;nbsp;&lt;/b&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;b&gt;These messages are generated by the Oracle database server when running any Oracle program.&lt;/b&gt;

&lt;b style="color: red;"&gt;How to kill session:&lt;/b&gt;
&lt;b&gt;1. identify which session to kill using following query:&lt;/b&gt;
 select 
  s.sid,
  s.serial#,
  spid,
  trim(s.machine) machine,
  trim(s.module) module,
  status
 from
  v$session s,
  v$process p
 where
  paddr=addr
  and module is not null
 order by 1,2
 
&lt;b&gt;2. Killing a session&lt;/b&gt;
 ALTER SYSTEM KILL SESSION 'sid,serial#';
 
 or you can kill at OS level on linux using
 kill -9 spid&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-3022198905019899899?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mPhXBr4c74IrC_x01tdKPR2jPYI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mPhXBr4c74IrC_x01tdKPR2jPYI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mPhXBr4c74IrC_x01tdKPR2jPYI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mPhXBr4c74IrC_x01tdKPR2jPYI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/hCybjMW1E5c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/3022198905019899899/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2012/02/ora-00027-cannot-kill-current-session.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/3022198905019899899?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/3022198905019899899?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/hCybjMW1E5c/ora-00027-cannot-kill-current-session.html" title="ORA-00027 cannot kill current session" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2012/02/ora-00027-cannot-kill-current-session.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AFQHsyeip7ImA9WhRaEkQ.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-6596372574903657257</id><published>2012-01-23T21:08:00.000+05:30</published><updated>2012-02-15T14:18:31.592+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-15T14:18:31.592+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle DBA" /><category scheme="http://www.blogger.com/atom/ns#" term="Ora-Codes" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Tips" /><title>ORA-00257 archiver error. Connect internal only, until freed</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;pre&gt;&lt;b&gt;
ORA-00257 archiver error. Connect internal only, until freed.&lt;/b&gt;

&lt;b&gt;Cause:&lt;/b&gt; The archiver process received an error while trying to archive a redolog. 
If the problem is not resolved soon, the database will stop executing transactions. 
The most likely cause of this message is the destination device is out of space 
to store the redo log file.

&lt;b&gt;Action:&lt;/b&gt; Check the archiver trace file for a detailed description of the problem.
Also, verify that the device specified in the initialization parameter ARCHIVE_LOG_DEST 
is set up properly for archiving.

ORA-00257 comes under "Oracle Database Server Messages". 
These messages are generated by the Oracle database server when running any Oracle program.
How to free archive destination device:
Most probably archive destination is full. We should backup archive logs, then remove them.
&lt;span style="color: red;"&gt;
&lt;/span&gt;&lt;b style="color: red;"&gt;We can use following steps for this&lt;/b&gt;
&lt;b&gt;1.&lt;/b&gt; find the location of Archive destination by
 show parameter archive_dest
 
 lets say it provide  LOCATION=/u10/oradata/mydb/arch

&lt;b&gt;2.&lt;/b&gt; move some files to some other location using os command
 cd /u10/oradata/mydb/arch
 mv /u10/oradata/mydb/arch/* /u15/oradata/mydb/arch-bkp/
 
&lt;b style="color: red;"&gt;
Or it can be done using RMAN also&lt;/b&gt;

rman target /

RMAN&amp;gt; backup archive log all format '/u15/oradata/mydb/arch-bkp';

RMAN&amp;gt; delete archive until time 'trunc(sysdate)';


&lt;/pre&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-6596372574903657257?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7xtVUH6puP0YE4F-X3v_sn6wclk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7xtVUH6puP0YE4F-X3v_sn6wclk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7xtVUH6puP0YE4F-X3v_sn6wclk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7xtVUH6puP0YE4F-X3v_sn6wclk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/x-FWeEPyrLU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/6596372574903657257/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2012/01/ora-00257-archiver-error-connect.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/6596372574903657257?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/6596372574903657257?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/x-FWeEPyrLU/ora-00257-archiver-error-connect.html" title="ORA-00257 archiver error. Connect internal only, until freed" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2012/01/ora-00257-archiver-error-connect.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkINSX09fSp7ImA9WhRUFE0.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-8167455227397116605</id><published>2011-11-23T17:16:00.001+05:30</published><updated>2012-01-24T18:06:38.365+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-24T18:06:38.365+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle DBA" /><category scheme="http://www.blogger.com/atom/ns#" term="Ora-Codes" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Tips" /><title>ORA-23404 refresh group does not exist</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;pre style="color: black;"&gt;&lt;b&gt;ORA-23404 refresh group does not exist&lt;/b&gt;
&lt;b&gt;Cause:&lt;/b&gt; A refresh group name was given that is not in SYS.RGROUP$.
&lt;b&gt;Action:&lt;/b&gt; Provide a refresh group name that is in SYS.RGROUP$ or DBS_RGROUP.

&lt;/pre&gt;
&lt;div style="color: black;"&gt;
Reference: &lt;a href="http://docs.oracle.com/cd/B19306_01/server.102/b14219/e0.htm#sthref17" target="_blank"&gt;Oracle Documentation&lt;/a&gt;&lt;/div&gt;
&lt;div style="color: black;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre style="color: black;"&gt;&lt;b&gt;
Example:&lt;/b&gt;

Today I faced this error on my DB, as I was trying to refresh a MVIEW using DBMS_REFRESH.REFRESH
 - EXEC DBMS_REFRESH.REFRESH('MYMVIEW');
But when I explorered and find DBMS_REFRESH.REFRESH refreshes a refresh group.

So I canged my statemanet to 
 - EXEC DBMS_MVIEW.REFRESH('MYMVIEW');
and it worked !!!

Another way is to make a Refresh Group first and then Refresh it using DBMS_REFRESH.REFRESH as
 - EXEC DBMS_REFRESH.MAKE(NAME=&amp;gt;'MY_GRP', LIST=&amp;gt;'MYMVIEW', NEXT_DATE =&amp;gt; SYSDATE, INTERVAL =&amp;gt; 'NULL');
 - EXEC DBMS_REFRESH.REFRESH('MY_GRP');
&lt;pre&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-8167455227397116605?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Oq1F2rm1mKjSeD8youlA2SW5hGQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Oq1F2rm1mKjSeD8youlA2SW5hGQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Oq1F2rm1mKjSeD8youlA2SW5hGQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Oq1F2rm1mKjSeD8youlA2SW5hGQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/nrsrGGu5SZE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/8167455227397116605/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/11/ora-23404-refresh-group-does-not-exist.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/8167455227397116605?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/8167455227397116605?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/nrsrGGu5SZE/ora-23404-refresh-group-does-not-exist.html" title="ORA-23404 refresh group does not exist" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/11/ora-23404-refresh-group-does-not-exist.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYBRXo-eyp7ImA9WhRUE04.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-849464467021832758</id><published>2011-11-11T10:13:00.001+05:30</published><updated>2012-01-23T21:09:14.453+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-23T21:09:14.453+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle DBA" /><category scheme="http://www.blogger.com/atom/ns#" term="Ora-Codes" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Tips" /><title>ORA-00018 maximum number of sessions exceeded</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="color: black;"&gt;
&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;pre style="color: black;"&gt;&lt;/pre&gt;
&lt;pre style="color: black;"&gt;&lt;b&gt;ORA-00018 maximum number of sessions exceeded
Cause:&lt;/b&gt; All session state objects are in use.
&lt;b&gt;Action:&lt;/b&gt; Increase the value of the SESSIONS initialization parameter.&lt;/pre&gt;
&lt;pre style="color: black;"&gt;&lt;/pre&gt;
Reference: &lt;a href="http://docs.oracle.com/cd/B19306_01/server.102/b14219/e0.htm#sthref17" target="_blank"&gt;Oracle Documentation&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre style="color: black;"&gt;&lt;b&gt;ORA-00018&lt;/b&gt; comes under "Oracle Database Server Messages". These messages are generated by the 
Oracle database server when running any Oracle program.

&lt;b&gt;How to increase SESSION initialization parameter:&lt;/b&gt;

1. Login as sysdba
 sqlplus / as sysdba
 
2. Check Current Setting of Parameters
 sql&amp;gt; show parameter sessions
 sql&amp;gt; show parameter processes
 sql&amp;gt; show parameter transactions

3. If you are planning to increase "sessions" parameter you should also plan to increase 
"processes and "transactions" parameters
 A basic formula for determining  these parameter values is as follows:
  processes=x
  sessions=x*1.1+5
  transactions=sessions*1.1
  
4. These paramters can't be modified in memory. You have to modify the spfile only (scope=spfile) 
and bounce the instance.
 sql&amp;gt; alter system set processes=500 scope=spfile;
 sql&amp;gt; alter system set sessions=555 scope=spfile;
 sql&amp;gt; alter system set transactions=610 scope=spfile;
 sql&amp;gt; shutdown abort
 sql&amp;gt; startup&amp;nbsp;&lt;/pre&gt;
&lt;pre style="color: black;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="color: black;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre style="color: black;"&gt; &lt;/pre&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-849464467021832758?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KSsKcbqhUS8xM40A7Tji951Zw0w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KSsKcbqhUS8xM40A7Tji951Zw0w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KSsKcbqhUS8xM40A7Tji951Zw0w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KSsKcbqhUS8xM40A7Tji951Zw0w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/RqGWBezG0Ss" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/849464467021832758/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/11/ora-00018-maximum-number-of-sessions.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/849464467021832758?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/849464467021832758?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/RqGWBezG0Ss/ora-00018-maximum-number-of-sessions.html" title="ORA-00018 maximum number of sessions exceeded" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/11/ora-00018-maximum-number-of-sessions.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cHSH84eCp7ImA9WhRTGU0.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-3672881571314184732</id><published>2011-11-10T12:39:00.000+05:30</published><updated>2011-11-10T12:40:39.130+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-10T12:40:39.130+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle PL/SQL" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Tips" /><title>Two Dimension Array in PL/SQL</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;A Simple Example of 2D Array in PL/SQL&amp;nbsp;&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;div style="color: black;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre style="color: black;"&gt;create or replace type Arr1D_Type is table of Number(2);

create or replace type Arr2D_Type is table of Arr1D_Type;

declare
 Arr2D Arr2D_Type;
begin
 Arr2D := new Arr2D_Type(
  Arr1D_Type( 1,2,3,4 ),
  Arr1D_Type( 5,6,7,8 ),
  Arr1D_Type( 9,10,11,12 ),
  Arr1D_Type( 13,14,15,16 )
    );

 DBMS_OUTPUT.PUT_LINE('     OUTPUT     ');
 DBMS_OUTPUT.PUT_LINE('----------------');
 
 for x in 1..Arr2D.Count
 loop
  for y in 1..Arr2D(x).Count
  loop
   DBMS_OUTPUT.PUT(rpad(Arr2D(x)(y),4));
  end loop;
  DBMS_OUTPUT.PUT_LINE('');
 end loop;
end;
/

OUTPUT
----------------
1   2   3   4
5   6   7   8
9   10  11  12
13  14  15  16&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-3672881571314184732?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wge-vRHLJWAQdaUglbxxGolK-VQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wge-vRHLJWAQdaUglbxxGolK-VQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wge-vRHLJWAQdaUglbxxGolK-VQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wge-vRHLJWAQdaUglbxxGolK-VQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/IajerRQMnS0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/3672881571314184732/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/11/two-dimension-array-in-plsql.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/3672881571314184732?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/3672881571314184732?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/IajerRQMnS0/two-dimension-array-in-plsql.html" title="Two Dimension Array in PL/SQL" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/11/two-dimension-array-in-plsql.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcFRHw4fCp7ImA9WhRSFU0.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-7980414996570663908</id><published>2011-11-09T14:08:00.000+05:30</published><updated>2011-11-17T09:40:15.234+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-17T09:40:15.234+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ora-Codes" /><title>ORA-00001 unique constraint violated</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;b&gt;ORA-00001 unique constraint violated&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;
&lt;b&gt;Cause:&lt;/b&gt; An UPDATE or INSERT statement attempted to insert a duplicate key.&lt;br /&gt;&lt;b&gt;Action:&lt;/b&gt; Either remove the unique restriction or do not insert the key.&lt;br /&gt;
&lt;br /&gt;
ORA-00001 comes under "Oracle Database Server Messages". These messages 
are generated by the Oracle database server when running any Oracle 
program.&lt;br /&gt;
&lt;br /&gt;
Reference: &lt;a href="http://docs.oracle.com/cd/B19306_01/server.102/b14219/e0.htm#sthref17" target="_blank"&gt;Oracle Documentation&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-7980414996570663908?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jmxOm9mD1V7PYeHeEhH5Zc6YycM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jmxOm9mD1V7PYeHeEhH5Zc6YycM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jmxOm9mD1V7PYeHeEhH5Zc6YycM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jmxOm9mD1V7PYeHeEhH5Zc6YycM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/-gObTYT8IPY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/7980414996570663908/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/11/ora-00001-unique-constraint-violated.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/7980414996570663908?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/7980414996570663908?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/-gObTYT8IPY/ora-00001-unique-constraint-violated.html" title="ORA-00001 unique constraint violated" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/11/ora-00001-unique-constraint-violated.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUHRXY6cSp7ImA9WhRSEkg.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-1990184440739918473</id><published>2011-11-09T11:25:00.000+05:30</published><updated>2011-11-14T13:07:14.819+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-14T13:07:14.819+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ora-Codes" /><title>ORA-00000 normal, successful completion</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;b&gt;ORA-00000 normal, successful completion&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Cause:&lt;/b&gt; An operation has completed normally, having met no exceptions.&lt;br /&gt;
&lt;b&gt;Action:&lt;/b&gt; No action required.&lt;br /&gt;
&lt;br /&gt;
ORA-00000 comes under "Oracle Database Server Messages". These messages are generated by the 
Oracle database server when running any Oracle program.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-1990184440739918473?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6kjajpnrcz2v2iiBK2x1-ImfoJ0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6kjajpnrcz2v2iiBK2x1-ImfoJ0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6kjajpnrcz2v2iiBK2x1-ImfoJ0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6kjajpnrcz2v2iiBK2x1-ImfoJ0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/KJhYfl6nbPU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/1990184440739918473/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/11/ora-00000-normal-successful-completion.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/1990184440739918473?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/1990184440739918473?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/KJhYfl6nbPU/ora-00000-normal-successful-completion.html" title="ORA-00000 normal, successful completion" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/11/ora-00000-normal-successful-completion.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IEQns8eip7ImA9WhdUE0o.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-6199486249825564869</id><published>2011-09-30T14:01:00.000+05:30</published><updated>2011-09-30T14:01:43.572+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-30T14:01:43.572+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle PL/SQL" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Tips" /><title>Create CSV file using PL/SQL</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
&lt;b&gt;To create a file, we need to create a directory and have the read write permission as&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1)&lt;/b&gt; create or replace directory MYCSV as '/home/oracle/mycsv'; &lt;br /&gt;
&lt;b&gt;Note:&lt;/b&gt; /home/oracle/mycsv has to be physical location on disk. &lt;b&gt;&lt;br /&gt;
2)&lt;/b&gt; grant read, write on directory MYCSV to scott;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Following is the pl/sql sample code to create CSV file&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: small;"&gt;DECLARE&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; F UTL_FILE.FILE_TYPE;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; CURSOR C1 IS SELECT EMPNO, ENAME, SAL, E.DEPTNO, DNAME FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO ORDER BY EMPNO;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; C1_R C1%ROWTYPE;&lt;br /&gt;
BEGIN&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; F := UTL_FILE.FOPEN('MYCSV','EMP_DEPT.CSV','w',32767);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; FOR C1_R IN C1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LOOP&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; UTL_FILE.PUT(F,C1_R.EMPNO);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; UTL_FILE.PUT(F,','||C1_R.ENAME);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; UTL_FILE.PUT(F,','||C1_R.SAL);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; UTL_FILE.PUT(F,','||C1_R.DEPTNO);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; UTL_FILE.PUT(F,','||C1_R.DNAME);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; UTL_FILE.NEW_LINE(F);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; END LOOP;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; UTL_FILE.FCLOSE(F);&lt;br /&gt;
END;&lt;br /&gt;
/&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After the execution of above procedure, a file (EMP_DEPT.CSV) would have been created at "/home/oracle/mycsv/" location.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;You may check it on linux by &lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
cd /home/oracle/mycsv&lt;br /&gt;
cat EMP_DEPT.CSV&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;7369,SMITH,800,20,RESEARCH&lt;br /&gt;
7499,ALLEN,1600,30,SALES&lt;br /&gt;
7521,WARD,1250,30,SALES&lt;br /&gt;
7566,JONES,2975,20,RESEARCH&lt;br /&gt;
7654,MARTIN,1250,30,SALES&lt;br /&gt;
7698,BLAKE,2850,30,SALES&lt;br /&gt;
7782,CLARK,2450,10,ACCOUNTING&lt;br /&gt;
7788,SCOTT,3000,20,RESEARCH&lt;br /&gt;
7839,KING,5000,10,ACCOUNTING&lt;br /&gt;
7844,TURNER,1500,30,SALES&lt;br /&gt;
7876,ADAMS,1100,20,RESEARCH&lt;br /&gt;
7900,JAMES,950,30,SALES&lt;br /&gt;
7902,FORD,3000,20,RESEARCH&lt;br /&gt;
7934,MILLER,1300,10,ACCOUNTING&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-6199486249825564869?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QB6yGRuCoZIdxXaGMbAFDq6pnVc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QB6yGRuCoZIdxXaGMbAFDq6pnVc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QB6yGRuCoZIdxXaGMbAFDq6pnVc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QB6yGRuCoZIdxXaGMbAFDq6pnVc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/Y_Z73useHkM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/6199486249825564869/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/09/create-csv-file-using-plsql.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/6199486249825564869?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/6199486249825564869?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/Y_Z73useHkM/create-csv-file-using-plsql.html" title="Create CSV file using PL/SQL" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/09/create-csv-file-using-plsql.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YGR3s5eSp7ImA9WhRUGUQ.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-7876648759776737256</id><published>2011-09-07T11:43:00.000+05:30</published><updated>2012-01-31T14:08:46.521+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-31T14:08:46.521+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Regular Expression" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle SQL" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Tips" /><title>Extracting text between html tags (removing html tags)</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
In &lt;b&gt;ORACLE 10G,&lt;/b&gt; we can simply use REGEXP_REPLACE to extract all data between HTML TAGS&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Examples&lt;/b&gt;&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------&lt;br /&gt;
WITH T AS&lt;br /&gt;
(&lt;br /&gt;
SELECT&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; '&amp;lt;HTML&amp;gt;&amp;lt;HEAD&amp;gt;THIS IS HEAD.&amp;lt;/HEAD&amp;gt;&amp;lt;BODY&amp;gt;THIS IS BODY.&amp;lt;P&amp;gt;THIS IS P.&amp;lt;/P&amp;gt;&amp;lt;H1&amp;gt;THIS IS H1.&amp;lt;/H1&amp;gt;&amp;lt;/BODY&amp;gt;&amp;lt;/HTML&amp;gt;' STR&lt;br /&gt;
FROM &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; DUAL&lt;br /&gt;
)&lt;br /&gt;
SELECT REGEXP_REPLACE(STR,'&amp;lt;.*?&amp;gt;') FROM T&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WITH T AS&lt;br /&gt;
(&lt;br /&gt;
SELECT&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; '&amp;lt;HTML&amp;gt;&amp;lt;HEAD&amp;gt;THIS IS HEAD.&amp;lt;/HEAD&amp;gt;&amp;lt;BODY&amp;gt;THIS IS BODY.&amp;lt;P&amp;gt;THIS IS P.&amp;lt;/P&amp;gt;&amp;lt;H1&amp;gt;THIS IS H1.&amp;lt;/H1&amp;gt;&amp;lt;/BODY&amp;gt;&amp;lt;/HTML&amp;gt;' STR&lt;br /&gt;
FROM &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; DUAL&lt;br /&gt;
)&lt;br /&gt;
SELECT REGEXP_REPLACE(STR, '&amp;lt;[^&amp;gt;]+&amp;gt;') FROM T&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ORACLE 11G&lt;/b&gt; has provided us a simple way to extract text between a specified HTML tag.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Example&lt;/b&gt;&lt;br /&gt;
--------------------------------------------------------------------------------------------------------------&lt;br /&gt;
WITH T AS&lt;br /&gt;
(&lt;br /&gt;
SELECT&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; '&amp;lt;HTML&amp;gt;&amp;lt;HEAD&amp;gt;THIS IS HEAD.&amp;lt;/HEAD&amp;gt;&amp;lt;BODY&amp;gt;THIS IS BODY.&amp;lt;P&amp;gt;THIS IS P.&amp;lt;/P&amp;gt;&amp;lt;H1&amp;gt;THIS IS H1.&amp;lt;/H1&amp;gt;&amp;lt;/BODY&amp;gt;&amp;lt;/HTML&amp;gt;' STR&lt;br /&gt;
FROM &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; DUAL&lt;br /&gt;
)&lt;br /&gt;
SELECT XMLTYPE(STR).EXTRACT('/HTML/BODY/P/text()').GETSTRINGVAL() FROM T&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
Related Links:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Oracle: Extract Initials of Names &lt;br /&gt;
&lt;a href="http://nimishgarg.blogspot.com/2011/01/oracle-extract-initials-of-name.html"&gt;http://nimishgarg.blogspot.com/2011/01/oracle-extract-initials-of-name.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Oracle: Extract Numbers from String (Ex: Pin from Address) &lt;br /&gt;
&lt;a href="http://nimishgarg.blogspot.com/2010/04/oracle-sql-extract-numbers-from-string.html"&gt;http://nimishgarg.blogspot.com/2010/04/oracle-sql-extract-numbers-from-string.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-7876648759776737256?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SFc-6vZCmpfNhJzeHNw3h_zu8fg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SFc-6vZCmpfNhJzeHNw3h_zu8fg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SFc-6vZCmpfNhJzeHNw3h_zu8fg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SFc-6vZCmpfNhJzeHNw3h_zu8fg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/uShBgjmOygM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/7876648759776737256/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/09/extracting-text-between-html-tags.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/7876648759776737256?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/7876648759776737256?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/uShBgjmOygM/extracting-text-between-html-tags.html" title="Extracting text between html tags (removing html tags)" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/09/extracting-text-between-html-tags.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUNQ3w_fSp7ImA9WhRTGE8.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-4548968524108937337</id><published>2011-08-02T15:14:00.000+05:30</published><updated>2011-11-09T13:08:12.245+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-09T13:08:12.245+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle SQL" /><category scheme="http://www.blogger.com/atom/ns#" term="Ora-Codes" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Tips" /><title>ORA-01779: cannot modify a column which maps to a non key-preserved table</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;b&gt;USING INSTEAD OF TRIGGER TO AVOID ORA-01779 WHILE UPDATING VIEW&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. Create a view using EMP and DEPT&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; CREATE VIEW EMP_DEPT_VW AS&lt;br /&gt;
&amp;nbsp; 2&amp;nbsp; SELECT EMPNO, ENAME, SAL, D.DEPTNO, DNAME&lt;br /&gt;
&amp;nbsp; 3&amp;nbsp; FROM SCOTT.EMP E, SCOTT.DEPT D&lt;br /&gt;
&amp;nbsp; 4&amp;nbsp; WHERE E.DEPTNO=D.DEPTNO&lt;br /&gt;
&amp;nbsp; 5&amp;nbsp; ORDER BY EMPNO, D.DEPTNO;&lt;br /&gt;
&lt;br /&gt;
View created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. if we try to Update DNAME, it will throw an execption&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; update EMP_DEPT_VW set DNAME='Rnd' where DEPTNO=20;&lt;br /&gt;
update EMP_DEPT_VW set DNAME='Rnd' where DEPTNO=20&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-01779: cannot modify a column which maps to a non key-preserved table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Need to create a INSTEAD of Trigger on View&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
CREATE OR REPLACE TRIGGER EMP_DEPT_VW&lt;br /&gt;
INSTEAD OF UPDATE ON EMP_DEPT_VW&lt;br /&gt;
FOR EACH ROW&lt;br /&gt;
DECLARE&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; V_DEPTNO SCOTT.DEPT.DEPTNO%TYPE;&lt;br /&gt;
BEGIN&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT DEPTNO INTO V_DEPTNO FROM SCOTT.EMP&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE EMPNO=:NEW.EMPNO;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE SCOTT.DEPT&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SET DNAME = :NEW.DNAME&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE DEPTNO=V_DEPTNO;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; UPDATE SCOTT.EMP&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SET ENAME = :NEW.ENAME,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SAL=:NEW.SAL&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE EMPNO=:NEW.EMPNO;&lt;br /&gt;
END;&lt;br /&gt;
/&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;b&gt;4. Now Update will work fine&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; update EMP_DEPT_VW set DNAME='Rnd' where DEPTNO=20;&lt;br /&gt;
&lt;br /&gt;
5 rows updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-4548968524108937337?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-SNFO9y3I5-MbugANzwnrQvinzg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-SNFO9y3I5-MbugANzwnrQvinzg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-SNFO9y3I5-MbugANzwnrQvinzg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-SNFO9y3I5-MbugANzwnrQvinzg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/y4QT-1IcUuA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/4548968524108937337/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/08/ora-01779-cannot-modify-column-which.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/4548968524108937337?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/4548968524108937337?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/y4QT-1IcUuA/ora-01779-cannot-modify-column-which.html" title="ORA-01779: cannot modify a column which maps to a non key-preserved table" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/08/ora-01779-cannot-modify-column-which.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQESH0yfCp7ImA9WhRTGE8.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-8838580783427815522</id><published>2011-07-08T16:24:00.000+05:30</published><updated>2011-11-09T13:08:29.394+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-09T13:08:29.394+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle DBA" /><category scheme="http://www.blogger.com/atom/ns#" term="Ora-Codes" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Tips" /><title>ORA-16000: database open for read-only access</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Lets suppose we have two databases opened in Read Only mode. &lt;br /&gt;
1.&amp;nbsp;&amp;nbsp;&amp;nbsp; DB1&lt;br /&gt;
2.&amp;nbsp;&amp;nbsp;&amp;nbsp; DB2&lt;br /&gt;
&lt;br /&gt;
and on DB1, we have a DBLINK on DB2 named DB2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now, if we try to execute following query on DB1&lt;br /&gt;
&lt;br /&gt;
SELECT EMPNO, ENAME, DNAME, SAL&amp;nbsp; &lt;br /&gt;
FROM scott.emp EMP, scott.DEPT@DB2 DEPT&lt;br /&gt;
WHERE EMP.DEPTNO=DEPT.DEPTNO&lt;br /&gt;
&lt;br /&gt;
it will throw following error&lt;br /&gt;
ORA-16000: database open for read-only access&lt;br /&gt;
&lt;br /&gt;
to avoid this we must set our transaction as read only using follwoing command&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;set transaction read only;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Example:&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;a href="http://1.bp.blogspot.com/-igNzNmEIQxk/Thbhv_NzRGI/AAAAAAAAAPU/sPghhpIQhGM/s1600/ORA-16000.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://1.bp.blogspot.com/-igNzNmEIQxk/Thbhv_NzRGI/AAAAAAAAAPU/sPghhpIQhGM/s640/ORA-16000.JPG" width="420" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-8838580783427815522?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LZRxq5JFUdbh2Ix3SWeAwYiK-Zg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LZRxq5JFUdbh2Ix3SWeAwYiK-Zg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LZRxq5JFUdbh2Ix3SWeAwYiK-Zg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LZRxq5JFUdbh2Ix3SWeAwYiK-Zg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/_naONQuY3fM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/8838580783427815522/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/07/ora-16000-database-open-for-read-only.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/8838580783427815522?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/8838580783427815522?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/_naONQuY3fM/ora-16000-database-open-for-read-only.html" title="ORA-16000: database open for read-only access" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-igNzNmEIQxk/Thbhv_NzRGI/AAAAAAAAAPU/sPghhpIQhGM/s72-c/ORA-16000.JPG" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/07/ora-16000-database-open-for-read-only.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EFRns7eCp7ImA9WhZbEEk.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-5766265706756044059</id><published>2011-06-14T12:53:00.000+05:30</published><updated>2011-06-14T16:36:57.500+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-14T16:36:57.500+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle SQL" /><title>Examples of Rollup and Grouping Sets</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;ROLLUP&lt;/b&gt;&lt;br /&gt;
-------------------------------------------------------------------------------------------&lt;br /&gt;
select nvl(dname,'ALL DEPARTMENTS') dname, nvl(job,'ALL JOBS') job, sum(sal) sal&lt;br /&gt;
from scott.emp e, scott.dept d&lt;br /&gt;
where d.deptno = e.deptno&lt;br /&gt;
group by rollup(dname, job)&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/-Q2wuZWcbY5I/TfcMJ_XTOfI/AAAAAAAAAPM/eKezhs-fjWQ/s1600/rollup.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-Q2wuZWcbY5I/TfcMJ_XTOfI/AAAAAAAAAPM/eKezhs-fjWQ/s1600/rollup.JPG" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;GROUPING SETS&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;-----------------------------------------------------------------------------------------------------------&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;select nvl(dname,'ALL DEPARTMENTS') dname, nvl(job,'ALL JOBS') job, sum(sal) sal&lt;/div&gt;from scott.emp e, scott.dept d&lt;br /&gt;
where d.deptno = e.deptno&lt;br /&gt;
group by grouping sets(dname, (dname, job))&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp; &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/-1dkt-tVo6Do/TfcMYDwOJbI/AAAAAAAAAPQ/mVQROAjomLw/s1600/grouping.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-1dkt-tVo6Do/TfcMYDwOJbI/AAAAAAAAAPQ/mVQROAjomLw/s1600/grouping.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;&lt;b&gt;Related Link:&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://nimishgarg.blogspot.com/2010/07/oracle-rollup-query.html"&gt;http://nimishgarg.blogspot.com/2010/07/oracle-rollup-query.html&lt;/a&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt; &lt;/b&gt;&lt;br /&gt;
&lt;b&gt; &lt;/b&gt;&lt;br /&gt;
&lt;b&gt; &lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-5766265706756044059?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/b5Q9Ke_gHg6kJvGIxDrsFU77Cdg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/b5Q9Ke_gHg6kJvGIxDrsFU77Cdg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/b5Q9Ke_gHg6kJvGIxDrsFU77Cdg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/b5Q9Ke_gHg6kJvGIxDrsFU77Cdg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/AxW6yb8ORNM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/5766265706756044059/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/06/examples-of-rollup-and-grouping-sets.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/5766265706756044059?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/5766265706756044059?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/AxW6yb8ORNM/examples-of-rollup-and-grouping-sets.html" title="Examples of Rollup and Grouping Sets" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-Q2wuZWcbY5I/TfcMJ_XTOfI/AAAAAAAAAPM/eKezhs-fjWQ/s72-c/rollup.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/06/examples-of-rollup-and-grouping-sets.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cMRXc8fSp7ImA9WhZWFkw.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-6424293177956567081</id><published>2011-05-17T12:19:00.003+05:30</published><updated>2011-05-17T12:21:24.975+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-17T12:21:24.975+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle DBA" /><title>Oracle DBA Daily Checklist</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;Oracle DBA &lt;/b&gt;&lt;b&gt;Daily &lt;/b&gt;&lt;b&gt;Checklist&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
1. Check that all instances are up.&lt;br /&gt;
&lt;br /&gt;
2. Monitor alert log entries (using tail -f)&lt;br /&gt;
&lt;br /&gt;
3. Check that dbsnmp(SNMP subagent for Oracle DB) is running.&lt;br /&gt;
&lt;br /&gt;
4. Check all last night backups were successful.&lt;br /&gt;
&lt;br /&gt;
5. Check all database archiving are done.&lt;br /&gt;
&lt;br /&gt;
6. Check tablespaces should not be used more that 95%.&lt;br /&gt;
&lt;br /&gt;
7. Check all crons and Oracle Jobs are completed without any error&lt;br /&gt;
&lt;br /&gt;
8. Verify resources for acceptable performance.&lt;br /&gt;
&lt;br /&gt;
9. Identify bad growth of Segments.&lt;br /&gt;
&lt;br /&gt;
10. Identify atleast 1 top resource consuming query&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-6424293177956567081?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GM6PSrclsc-SYrEi8V4Fi7Oeb34/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GM6PSrclsc-SYrEi8V4Fi7Oeb34/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GM6PSrclsc-SYrEi8V4Fi7Oeb34/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GM6PSrclsc-SYrEi8V4Fi7Oeb34/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/ndZH57-yN3A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/6424293177956567081/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/05/oracle-dba-daily-checklist.html#comment-form" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/6424293177956567081?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/6424293177956567081?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/ndZH57-yN3A/oracle-dba-daily-checklist.html" title="Oracle DBA Daily Checklist" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>9</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/05/oracle-dba-daily-checklist.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QFQ3gyfyp7ImA9WhZQEkU.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-5093538023661229208</id><published>2011-04-20T14:18:00.000+05:30</published><updated>2011-04-20T14:18:32.697+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-20T14:18:32.697+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Tips" /><title>Set SQLPROMPT - Customizing SQL Prompt</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;----------------------------------------------------------&lt;br /&gt;
&lt;b&gt;SQL Prompt With Time&lt;/b&gt;&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
SQL&amp;gt; set time on&lt;br /&gt;
09:50:16 SQL&amp;gt;&lt;br /&gt;
09:50:19 SQL&amp;gt; select sysdate from dual;&lt;br /&gt;
&lt;br /&gt;
SYSDATE&lt;br /&gt;
---------&lt;br /&gt;
20-APR-11&lt;br /&gt;
&lt;br /&gt;
09:50:34 SQL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
&lt;b&gt;SQL Prompt With USER&lt;/b&gt;&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
SQL&amp;gt; set sqlprompt "_USER&amp;gt; "&lt;br /&gt;
SCOTT&amp;gt;&lt;br /&gt;
SCOTT&amp;gt;&lt;br /&gt;
SCOTT&amp;gt; select sysdate from dual;&lt;br /&gt;
&lt;br /&gt;
SYSDATE&lt;br /&gt;
---------&lt;br /&gt;
20-APR-11&lt;br /&gt;
&lt;br /&gt;
SCOTT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
&lt;b&gt;SQL Prompt With SID&lt;/b&gt;&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
SQL&amp;gt; set sqlprompt "_CONNECT_IDENTIFIER&amp;gt; "&lt;br /&gt;
mydb&amp;gt;&lt;br /&gt;
mydb&amp;gt;&lt;br /&gt;
mydb&amp;gt; select sysdate from dual;&lt;br /&gt;
&lt;br /&gt;
SYSDATE&lt;br /&gt;
---------&lt;br /&gt;
20-APR-11&lt;br /&gt;
&lt;br /&gt;
mydb&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
&lt;b&gt;SQL Prompt With USER@SID&lt;/b&gt;&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
SQL&amp;gt; set sqlprompt "_USER'@'_CONNECT_IDENTIFIER SQL&amp;gt; "&lt;br /&gt;
SCOTT@mydb SQL&amp;gt;&lt;br /&gt;
SCOTT@mydb SQL&amp;gt;&lt;br /&gt;
SCOTT@mydb SQL&amp;gt; select sysdate from dual;&lt;br /&gt;
&lt;br /&gt;
SYSDATE&lt;br /&gt;
---------&lt;br /&gt;
20-APR-11&lt;br /&gt;
&lt;br /&gt;
SCOTT@mydb SQL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
&lt;b&gt;SQL Prompt With DATE&lt;/b&gt;&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
SQL&amp;gt; set sqlprompt "_DATE SQL&amp;gt; "&lt;br /&gt;
20-APR-11 SQL&amp;gt;&lt;br /&gt;
20-APR-11 SQL&amp;gt;&lt;br /&gt;
20-APR-11 SQL&amp;gt; select sysdate from dual;&lt;br /&gt;
&lt;br /&gt;
SYSDATE&lt;br /&gt;
---------&lt;br /&gt;
20-APR-11&lt;br /&gt;
&lt;br /&gt;
20-APR-11 SQL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
&lt;b&gt;SQL Prompt With Custom String&lt;/b&gt;&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
SQL&amp;gt; set sqlprompt "Hello World&amp;gt; "&lt;br /&gt;
Hello World&amp;gt;&lt;br /&gt;
Hello World&amp;gt;&lt;br /&gt;
Hello World&amp;gt; select sysdate from dual;&lt;br /&gt;
&lt;br /&gt;
SYSDATE&lt;br /&gt;
---------&lt;br /&gt;
20-APR-11&lt;br /&gt;
&lt;br /&gt;
Hello World&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-5093538023661229208?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ec4CSSLdB9iEr5Q2aI1ITyjSJFw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ec4CSSLdB9iEr5Q2aI1ITyjSJFw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ec4CSSLdB9iEr5Q2aI1ITyjSJFw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ec4CSSLdB9iEr5Q2aI1ITyjSJFw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/A_-CPMrMhKo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/5093538023661229208/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/04/set-sqlprompt-customizing-sql-prompt.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/5093538023661229208?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/5093538023661229208?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/A_-CPMrMhKo/set-sqlprompt-customizing-sql-prompt.html" title="Set SQLPROMPT - Customizing SQL Prompt" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/04/set-sqlprompt-customizing-sql-prompt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMFQHoyfip7ImA9WhZREEo.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-1683352337002467941</id><published>2011-04-06T12:23:00.000+05:30</published><updated>2011-04-06T12:50:11.496+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-06T12:50:11.496+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle SQL" /><title>Alpha Numeric Counter Or Sequence</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Here is a very simple example of how to create a basic Alpha Numeric Counter (Sequence) in Oracle.&lt;br /&gt;
&lt;br /&gt;
Lets try to create Alpha Numeric Counter (Sequence) as&lt;br /&gt;
A000&lt;br /&gt;
A001&lt;br /&gt;
A002&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
A999&lt;br /&gt;
B000&lt;br /&gt;
B001&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
.&lt;br /&gt;
Z999&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;query to create a alpha numeric sequence may be as&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
SELECT &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; CHR(65 + (LEVEL-1)/1000)&amp;nbsp; || TO_CHAR(MOD(LEVEL-1,1000),'000') ALNUM_CNT &lt;br /&gt;
FROM &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; DUAL &lt;br /&gt;
CONNECT BY LEVEL &amp;lt;= 1000*26;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Related Posts:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Oracle: Fibonacci Series by SQL &lt;br /&gt;
&lt;a href="http://nimishgarg.blogspot.com/2010/08/oracle-fibonacci-series-by-sql.html"&gt;http://nimishgarg.blogspot.com/2010/08/oracle-fibonacci-series-by-sql.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Oracle: Get All Month or Week Days Names &lt;br /&gt;
&lt;a href="http://nimishgarg.blogspot.com/2010/01/oracle-sql-get-all-month-names-jan-to.html"&gt;http://nimishgarg.blogspot.com/2010/01/oracle-sql-get-all-month-names-jan-to.html&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-1683352337002467941?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uygSAHKFmevXTCABHHpYGac2qTg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uygSAHKFmevXTCABHHpYGac2qTg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uygSAHKFmevXTCABHHpYGac2qTg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uygSAHKFmevXTCABHHpYGac2qTg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/YExMi1qyqqY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/1683352337002467941/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/04/alpha-numeric-counter-or-sequence.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/1683352337002467941?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/1683352337002467941?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/YExMi1qyqqY/alpha-numeric-counter-or-sequence.html" title="Alpha Numeric Counter Or Sequence" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/04/alpha-numeric-counter-or-sequence.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQNRHs8eyp7ImA9WhZREEo.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-7588056842739983498</id><published>2011-03-28T10:19:00.000+05:30</published><updated>2011-04-06T12:49:55.573+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-06T12:49:55.573+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle SQL" /><title>Column to Rows  - Number Seprated By Any Character</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;Value:&lt;/b&gt; '374627467(92876/5674)988276+87234687/8974232*3746-984027374[32742-3746236'&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Expected Output: &lt;/b&gt;&lt;br /&gt;
VALUE&lt;br /&gt;
------------&lt;br /&gt;
374627467&lt;br /&gt;
92876&lt;br /&gt;
5674&lt;br /&gt;
988276&lt;br /&gt;
87234687&lt;br /&gt;
8974232&lt;br /&gt;
3746&lt;br /&gt;
984027374&lt;br /&gt;
32742&lt;br /&gt;
3746236&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
with t as (&lt;br /&gt;
select '374627467(92876/5674)988276+87234687/8974232*3746-984027374[32742-3746236' x from dual&lt;br /&gt;
)&lt;br /&gt;
select &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; substr(&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ','||x,regexp_instr(','||x,'[^[:digit:]]',1,level)+1, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; regexp_instr(x||',','[^[:digit:]]',1,level) - regexp_instr(','||x,'[^[:digit:]]',1,level)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ) value&lt;br /&gt;
from &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; t connect by level &amp;lt;= length(x) - length(regexp_replace(x,'\D')) + 1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Related Links&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
1. Oracle: Comma Seprated String To Rows 10g Onwards&lt;br /&gt;
&lt;a href="http://nimishgarg.blogspot.com/2010/06/oracle-comma-seprated-string-to-rows_16.html"&gt;http://nimishgarg.blogspot.com/2010/06/oracle-comma-seprated-string-to-rows_16.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
2. Oracle: Comma Seprated String To Rows 11g &lt;br /&gt;
&lt;a href="http://nimishgarg.blogspot.com/2010/06/oracle-comma-seprated-string-to-rows.html"&gt;http://nimishgarg.blogspot.com/2010/06/oracle-comma-seprated-string-to-rows.html&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
3. Oracle: Nth Record from Comma Seprated String &lt;br /&gt;
&lt;a href="http://nimishgarg.blogspot.com/2010/06/oracle-nth-record-from-comma-seprated.html"&gt;http://nimishgarg.blogspot.com/2010/06/oracle-nth-record-from-comma-seprated.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Oracle: Comma Seprated String To Rows &lt;br /&gt;
&lt;a href="http://nimishgarg.blogspot.com/2009/12/oracle-sql-use-comma-seprated-string-to.html"&gt;http://nimishgarg.blogspot.com/2009/12/oracle-sql-use-comma-seprated-string-to.html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-7588056842739983498?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mTZCOBopOZn17fUwNHX2RQa38GQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mTZCOBopOZn17fUwNHX2RQa38GQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mTZCOBopOZn17fUwNHX2RQa38GQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mTZCOBopOZn17fUwNHX2RQa38GQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/v70WWV3wpug" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/7588056842739983498/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/03/column-to-rows-number-seprated-by-any.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/7588056842739983498?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/7588056842739983498?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/v70WWV3wpug/column-to-rows-number-seprated-by-any.html" title="Column to Rows  - Number Seprated By Any Character" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/03/column-to-rows-number-seprated-by-any.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQDSHw6eip7ImA9WhZREEo.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-554339081605735884</id><published>2011-03-11T17:32:00.000+05:30</published><updated>2011-04-06T12:49:39.212+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-06T12:49:39.212+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Tips" /><title>SYS_CONTEXT</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;SYS_CONTEXT returns the value of parameter associated with the context namespace. &lt;br /&gt;
USERENV is an Oracle provided namespace that describes the current session.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. sid of current session&lt;/b&gt;&lt;br /&gt;
SELECT SYS_CONTEXT('USERENV','SID') FROM DUAL;&lt;br /&gt;
OR&lt;br /&gt;
SELECT USERENV('SID') FROM DUAL&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. &lt;/b&gt;&lt;b&gt;name of &lt;/b&gt;&lt;b&gt;host from which client has connectd to oracle&lt;/b&gt;&lt;br /&gt;
SELECT SYS_CONTEXT('USERENV', 'HOST') FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. os username of the client process that has started the session.&lt;/b&gt;&lt;br /&gt;
SELECT SYS_CONTEXT('USERENV', 'OS_USER') FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4. ip address from which the client is connected.&lt;/b&gt;&lt;br /&gt;
SELECT SYS_CONTEXT('USERENV', 'IP_ADDRESS') FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5. name of the instance&lt;/b&gt;&lt;br /&gt;
SELECT SYS_CONTEXT('USERENV', 'INSTANCE_NAME') FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;6. name of the database as db_name initialization parameter.&lt;/b&gt;&lt;br /&gt;
SELECT SYS_CONTEXT('USERENV', 'DB_NAME') FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;7. domain of the database as db_domain initialization parameter.&lt;/b&gt;&lt;br /&gt;
SELECT SYS_CONTEXT('USERENV', 'DB_DOMAIN') FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;8. db user name by which the current user is authenticated.&lt;/b&gt;&lt;br /&gt;
SELECT SYS_CONTEXT ('USERENV', 'SESSION_USER') FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;9. get sid and serial# from current session using the auditing session identifier&lt;/b&gt;&lt;br /&gt;
SELECT SID, SERIAL# FROM V$SESSION WHERE AUDSID = SYS_CONTEXT('USERENV','SESSIONID');&lt;br /&gt;
&lt;br /&gt;
Reference: &lt;a href="http://download.oracle.com/docs/cd/B13789_01/server.101/b10759/functions150.htm"&gt;http://download.oracle.com/docs/cd/B13789_01/server.101/b10759/functions150.htm&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-554339081605735884?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Mes0iLuPlErcTDDSDwl1wsuELwk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Mes0iLuPlErcTDDSDwl1wsuELwk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Mes0iLuPlErcTDDSDwl1wsuELwk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Mes0iLuPlErcTDDSDwl1wsuELwk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/KnHS8RhBlLw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/554339081605735884/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/03/syscontext.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/554339081605735884?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/554339081605735884?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/KnHS8RhBlLw/syscontext.html" title="SYS_CONTEXT" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/03/syscontext.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MMQX8zeSp7ImA9Wx9aFEU.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-6429895461978322821</id><published>2011-03-03T12:00:00.000+05:30</published><updated>2011-03-07T12:34:40.181+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-07T12:34:40.181+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle SQL" /><title>Playing With Truncate and Date</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;current date&lt;/b&gt;&lt;br /&gt;
SQL&amp;gt; SELECT TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MI:SS') CDATE FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
CDATE&lt;br /&gt;
--------------------&lt;br /&gt;
01-MAR-2011 16:54:25&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;date truncated to the 1st day of the year&lt;/b&gt;&lt;br /&gt;
SQL&amp;gt; SELECT TRUNC(SYSDATE, 'YEAR') YEAR FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
'YEAR'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
-------------------&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
01-JAN-11&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;date truncated to the 1st day of the quarter&lt;/b&gt;&lt;br /&gt;
SQL&amp;gt; SELECT TRUNC(SYSDATE, 'Q') QUARTER FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
QUARTER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
-------------------&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
01-JAN-11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;date truncated to the 1st day of the month&lt;/b&gt;&lt;br /&gt;
SQL&amp;gt; SELECT TRUNC(SYSDATE, 'MONTH') MONTH FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
MONTH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
-------------------&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
01-MAR-11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;date truncated to the 1st day of the week &lt;/b&gt;&lt;br /&gt;
SQL&amp;gt; SELECT TRUNC(SYSDATE, 'DAY') DAY FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
DAY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
-------------------&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
27-FEB-11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;date truncated to the day &lt;/b&gt;&lt;br /&gt;
SQL&amp;gt; SELECT TO_CHAR(TRUNC(SYSDATE),'DD-MON-YYYY HH24:MI:SS') TDATE FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
TDATE&lt;br /&gt;
--------------------&lt;br /&gt;
01-MAR-2011 00:00:00&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;date truncated to the hour&lt;/b&gt;&lt;br /&gt;
SQL&amp;gt; SELECT TO_CHAR(TRUNC(SYSDATE,'HH'),'DD-MON-YYYY HH24:MI:SS') THOUR FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
THOUR&lt;br /&gt;
--------------------&lt;br /&gt;
01-MAR-2011 16:00:00&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;b&gt;date truncated to the minute &lt;/b&gt;&lt;br /&gt;
SQL&amp;gt; SELECT TO_CHAR(TRUNC(SYSDATE,'MI'),'DD-MON-YYYY HH24:MI:SS') TMINUTE FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
TMINUTE&lt;br /&gt;
--------------------&lt;br /&gt;
01-MAR-2011 16:53:00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;date truncate to last monday&lt;/b&gt;&lt;br /&gt;
SQL&amp;gt; SELECT TRUNC(SYSDATE -1,'DAY')+1 FROM DUAL;&lt;br /&gt;
&lt;br /&gt;
TRUNC(TO_&lt;br /&gt;
---------&lt;br /&gt;
21-FEB-11&lt;br /&gt;
&lt;br /&gt;
Oracle: Some Important Date Queries &lt;br /&gt;
&lt;a href="http://nimishgarg.blogspot.com/2010/11/oracle-some-important-date-queries.html"&gt;http://nimishgarg.blogspot.com/2010/11/oracle-some-important-date-queries.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Oracle: Dates Difference in days, hours, minutes &amp;amp; seconds &lt;br /&gt;
&lt;a href="http://nimishgarg.blogspot.com/2009/12/get-dates-difference-in-days-hours.html"&gt;http://nimishgarg.blogspot.com/2009/12/get-dates-difference-in-days-hours.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Oracle SQL: Date Difference in Days, Months and Years &lt;br /&gt;
&lt;a href="http://nimishgarg.blogspot.com/2010/08/oracle-sql-date-difference-in-days.html"&gt;http://nimishgarg.blogspot.com/2010/08/oracle-sql-date-difference-in-days.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-6429895461978322821?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/92jOZ7AFIyPTYN7tg9IATfYzo2U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/92jOZ7AFIyPTYN7tg9IATfYzo2U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/92jOZ7AFIyPTYN7tg9IATfYzo2U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/92jOZ7AFIyPTYN7tg9IATfYzo2U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/sxHxHBMY56E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/6429895461978322821/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/03/playing-with-truncate-and-date.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/6429895461978322821?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/6429895461978322821?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/sxHxHBMY56E/playing-with-truncate-and-date.html" title="Playing With Truncate and Date" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/03/playing-with-truncate-and-date.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UGRHY7fyp7ImA9Wx9aEU4.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-837872866243575923</id><published>2011-02-24T12:02:00.000+05:30</published><updated>2011-03-03T12:23:45.807+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-03T12:23:45.807+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle SQL" /><title>Top N query - 3rd highest salary</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Lets suppose we want to find a employee who is getting 3rd highest salary&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;We can try it with rownum but it may output worng result if first 2 employees have same salary&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1.&lt;/b&gt; select * from (select emp.*, rownum rn from (select * from scott.emp order by sal desc) emp) where rn = 3&lt;br /&gt;
&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EMPNO ENAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JOB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MGR HIREDATE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEPTNO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RN
---------- ---------- --------- ---------- --------- ---------- ---------- ---------- ----------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7788 SCOTT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ANALYST&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7566 19-APR-87&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/pre&gt;&lt;b&gt;2.&lt;/b&gt; select * from (select emp.*, row_number() over (order by sal desc) rn from scott.emp) where rn = 3&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EMPNO ENAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JOB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MGR HIREDATE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEPTNO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RN
---------- ---------- --------- ---------- --------- ---------- ---------- ---------- ----------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7902 FORD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ANALYST&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7566 03-DEC-81&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/pre&gt;&lt;b&gt;But the better solution is dense_rank&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3.&lt;/b&gt; select * from (select emp.*, dense_rank() over (order by sal desc) rn from scott.emp) where rn = 3&lt;br /&gt;
&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EMPNO ENAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JOB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MGR HIREDATE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEPTNO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RN
---------- ---------- --------- ---------- --------- ---------- ---------- ---------- ----------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7566 JONES&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MANAGER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7839 02-APR-81&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2975&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;4.&lt;/b&gt; select * from scott.emp b where&amp;nbsp; (select count(distinct sal) from scott.emp a where a.sal &amp;gt;= b.sal) = 3 order by deptno, sal&lt;br /&gt;
&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EMPNO ENAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; JOB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MGR HIREDATE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7566 JONES&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MANAGER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7839 02-APR-81&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2975&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&lt;/pre&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-837872866243575923?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7XHHgU_gzBlBGgO3QGC9-IG1vPc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7XHHgU_gzBlBGgO3QGC9-IG1vPc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7XHHgU_gzBlBGgO3QGC9-IG1vPc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7XHHgU_gzBlBGgO3QGC9-IG1vPc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/aFgXjaX9EpM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/837872866243575923/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/02/top-n-query-3rd-highest-salary.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/837872866243575923?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/837872866243575923?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/aFgXjaX9EpM/top-n-query-3rd-highest-salary.html" title="Top N query - 3rd highest salary" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/02/top-n-query-3rd-highest-salary.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcNRn87cCp7ImA9Wx9bEE4.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-7919157938928455387</id><published>2011-02-18T12:11:00.000+05:30</published><updated>2011-02-18T17:24:57.108+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-18T17:24:57.108+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle DBA" /><title>Using Statspack Report</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: justify;"&gt;Statspack is a set of performance monitoring and reporting utilities provided by Oracle starting from Oracle 8i and above. When you run the Statspack installation script, the PERFSTAT user is created automatically. PERFSTAT owns all objects needed by the Statspack package&lt;/div&gt;Note: All sql scripts are store in $ORACLE_HOME/rdbms/admin&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;To Install statspack&lt;/b&gt;&lt;br /&gt;
cd $ORACLE_HOME/rdbms/admin&lt;br /&gt;
sqlplus / as sysdba&lt;br /&gt;
@spcreate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;To schedule an hourly snapshot &lt;/b&gt;&lt;br /&gt;
cd $ORACLE_HOME/rdbms/admin&lt;br /&gt;
sqlplus perfstat/perfstat&lt;br /&gt;
@spauto.sql&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;To take a snapshot manually&lt;/b&gt;&lt;br /&gt;
cd $ORACLE_HOME/rdbms/admin&lt;br /&gt;
sqlplus perfstat/perfstat&lt;br /&gt;
exec statspack.snap;&lt;br /&gt;
Or &lt;br /&gt;
exec statspack.snap(i_snap_level =&amp;gt; 6, i_modify_parameter =&amp;gt; 'true');&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;To generate statspack report&lt;/b&gt;&lt;br /&gt;
cd $ORACLE_HOME/rdbms/admin&lt;br /&gt;
sqlplus perfstat/perfstat&lt;br /&gt;
@spreport.sql&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;to delete snapshots&lt;/b&gt;&lt;br /&gt;
cd $ORACLE_HOME/rdbms/admin&lt;br /&gt;
sqlplus perfstat/perfstat&lt;br /&gt;
@sppurge;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;To list all generated snapshots&lt;/b&gt;&lt;br /&gt;
cd $ORACLE_HOME/rdbms/admin&lt;br /&gt;
sqlplus perfstat/perfstat&lt;br /&gt;
select&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; snap_id,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; snap_level,&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; to_char(snap_time,'HH24:MI:SS DD-MM-YYYY') "Snap_Time"&lt;br /&gt;
from&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; stats$snapshot,&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; v$database&lt;br /&gt;
order by &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; snap_id&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;To uninstall statspack&lt;/b&gt;&lt;br /&gt;
cd $ORACLE_HOME/rdbms/admin&lt;br /&gt;
sqlplus / as sysdba&lt;br /&gt;
@spdrop&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-7919157938928455387?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OxrWRKXQN5KI4nvkRD8xwT37DgU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OxrWRKXQN5KI4nvkRD8xwT37DgU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OxrWRKXQN5KI4nvkRD8xwT37DgU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OxrWRKXQN5KI4nvkRD8xwT37DgU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/ecsTng0WURI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/7919157938928455387/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/02/using-statspack-report.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/7919157938928455387?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/7919157938928455387?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/ecsTng0WURI/using-statspack-report.html" title="Using Statspack Report" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/02/using-statspack-report.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQHQX85fSp7ImA9WhRTGE8.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-6862676141005433625</id><published>2011-02-11T11:03:00.000+05:30</published><updated>2011-11-09T13:08:50.125+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-09T13:08:50.125+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ora-Codes" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Tips" /><title>ORA-01436: CONNECT BY loop in user data</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;b&gt;Lets assume our data is:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
select * from emp;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-xCmSLdzgiQ8/TVTIg5m7dFI/AAAAAAAAANU/YLh7UNj9UCc/s1600/1.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-xCmSLdzgiQ8/TVTIg5m7dFI/AAAAAAAAANU/YLh7UNj9UCc/s1600/1.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;when we execute a hierarchical query, it throws an error as&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
select empno, ename, sys_connect_by_path(ename,' -&amp;gt; ') tree from emp connect by prior empno=mgrno;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-XzGgpi3yh4E/TVTI8u0Wo5I/AAAAAAAAANY/cZphYstqy3Q/s1600/2.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-XzGgpi3yh4E/TVTI8u0Wo5I/AAAAAAAAANY/cZphYstqy3Q/s1600/2.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;To trace this error of Connet by loop using  connect_by_iscycle&lt;/b&gt;&lt;b&gt;, we may execute following query:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
select emp.*, connect_by_iscycle from emp where connect_by_iscycle = 1 connect by nocycle prior empno=mgrno; &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-Fph5AGCxl6k/TVTJXbRCBaI/AAAAAAAAANc/ESHjuBu56RU/s1600/3.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-Fph5AGCxl6k/TVTJXbRCBaI/AAAAAAAAANc/ESHjuBu56RU/s1600/3.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;and now we can correct this cyclic loop as:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
update emp set mgrno=2497 where empno=3061;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;and execute our previous hierarchical query&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
select empno, ename, sys_connect_by_path(ename,' -&amp;gt; ') tree from emp connect by prior empno=mgrno;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-7GOgJ4Lrd98/TVTJ0psUx0I/AAAAAAAAANg/A-NFhxwh1vE/s1600/4.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-7GOgJ4Lrd98/TVTJ0psUx0I/AAAAAAAAANg/A-NFhxwh1vE/s1600/4.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Related Links&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://nimishgarg.blogspot.com/2010/02/oracle-connect-by-prior-hierarchical.html"&gt;http://nimishgarg.blogspot.com/2010/02/oracle-connect-by-prior-hierarchical.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-6862676141005433625?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dJgWuk6lxS_ty4lSNIf4fNgX05s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dJgWuk6lxS_ty4lSNIf4fNgX05s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dJgWuk6lxS_ty4lSNIf4fNgX05s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dJgWuk6lxS_ty4lSNIf4fNgX05s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/XgWTdRyfrx0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/6862676141005433625/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/02/ora-01436-connect-by-loop-in-user-data.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/6862676141005433625?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/6862676141005433625?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/XgWTdRyfrx0/ora-01436-connect-by-loop-in-user-data.html" title="ORA-01436: CONNECT BY loop in user data" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-xCmSLdzgiQ8/TVTIg5m7dFI/AAAAAAAAANU/YLh7UNj9UCc/s72-c/1.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/02/ora-01436-connect-by-loop-in-user-data.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4GRH86fyp7ImA9Wx9UE04.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-2808219409079970535</id><published>2011-02-03T14:21:00.000+05:30</published><updated>2011-02-10T17:25:25.117+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-10T17:25:25.117+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Tips" /><title>Oracle: Getting Simulated Cumulative Sum (Running Total)</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;Using Analytical Functions&lt;/b&gt;&lt;br /&gt;
select &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ename, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; dname, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; sal, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; sum(sal) over (partition by dname) dept_wise_total,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; sum(sal) over (partition by dname order by dname, ename) deptwise_running_total, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; sum(sal) over () total,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; sum(sal) over (order by dname, ename) running_total&lt;br /&gt;
from &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; scott.emp e, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; scott.dept d&lt;br /&gt;
where &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; e.deptno=d.deptno&lt;br /&gt;
order by &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; dname, ename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;b&gt;Simulated Version&lt;/b&gt;&lt;br /&gt;
select &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ename, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; dname, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; sal, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; sum(sal) over (partition by dname order by dname, ename) deptwise_running_total,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (select sum(sal) from scott.emp b where b.deptno=e.deptno and b.ename &amp;lt;= e.ename) sim_dept_runtotal,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; sum(sal) over (order by dname, ename) running_total,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (select sum(sal) from scott.emp b where b.ename &amp;lt;= e.ename) sim_running_total&lt;br /&gt;
from &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; scott.emp e, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; scott.dept d&lt;br /&gt;
where &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; e.deptno=d.deptno&lt;br /&gt;
order by &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; dname, ename&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Output&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_c4SLu5p3x8o/TUpr05vnTdI/AAAAAAAAANQ/CnBCoDIzj7E/s1600/runnig.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="211" src="http://3.bp.blogspot.com/_c4SLu5p3x8o/TUpr05vnTdI/AAAAAAAAANQ/CnBCoDIzj7E/s400/runnig.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Related Links&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://nimishgarg.blogspot.com/2010/02/oracle-getting-cumulative-sum-using.html"&gt;http://nimishgarg.blogspot.com/2010/02/oracle-getting-cumulative-sum-using.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: left;"&gt;Oracle: Simulating Rank Analytical Functions (Manual Rank) &lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://nimishgarg.blogspot.com/2010/06/oracle-simulating-rank-analytical.html"&gt;http://nimishgarg.blogspot.com/2010/06/oracle-simulating-rank-analytical.html&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;Oracle: Simulating Dense_Rank Analytical Functions (Manual Dense_Rank) &lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://nimishgarg.blogspot.com/2010/06/oracle-simulating-denserank-analytical.html"&gt;http://nimishgarg.blogspot.com/2010/06/oracle-simulating-denserank-analytical.html&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://nimishgarg.blogspot.com/2010/06/oracle-simulating-analytical-functions.html"&gt;http://nimishgarg.blogspot.com/2010/06/oracle-simulating-analytical-functions.html&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Oracle: Simulating Lead Analytical Functions (Manual Lead)&amp;nbsp; &lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://nimishgarg.blogspot.com/2010/06/oracle-simulate-lead-analytical.html"&gt;http://nimishgarg.blogspot.com/2010/06/oracle-simulate-lead-analytical.html&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-2808219409079970535?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jjIBK_Hbog6U_JjR56syMOyx4ME/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jjIBK_Hbog6U_JjR56syMOyx4ME/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jjIBK_Hbog6U_JjR56syMOyx4ME/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jjIBK_Hbog6U_JjR56syMOyx4ME/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/UyhCqj71axo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/2808219409079970535/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/02/oracle-getting-simulated-cumulative-sum.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/2808219409079970535?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/2808219409079970535?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/UyhCqj71axo/oracle-getting-simulated-cumulative-sum.html" title="Oracle: Getting Simulated Cumulative Sum (Running Total)" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_c4SLu5p3x8o/TUpr05vnTdI/AAAAAAAAANQ/CnBCoDIzj7E/s72-c/runnig.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/02/oracle-getting-simulated-cumulative-sum.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYGSHk9eSp7ImA9Wx9WGUk.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-269572363835130868</id><published>2011-01-25T09:53:00.000+05:30</published><updated>2011-01-25T13:42:09.761+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-25T13:42:09.761+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle SQL" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Tips" /><title>Oracle: Delete duplicate rows from table</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Lets say out table is&lt;br /&gt;
SQL&amp;gt; desc emp&lt;br /&gt;
&amp;nbsp;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Null?&amp;nbsp;&amp;nbsp;&amp;nbsp; Type&lt;br /&gt;
&amp;nbsp;----------------------------------------- -------- ----------------------------&lt;br /&gt;
&amp;nbsp;EMPNO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOT NULL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NUMBER(4)&lt;br /&gt;
&amp;nbsp;ENAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(10)&lt;br /&gt;
&amp;nbsp;JOB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(9)&lt;br /&gt;
&amp;nbsp;MGR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NUMBER(4)&lt;br /&gt;
&amp;nbsp;HIREDATE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATE&lt;br /&gt;
&amp;nbsp;SAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NUMBER(7,2)&lt;br /&gt;
&amp;nbsp;COMM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NUMBER(7,2)&lt;br /&gt;
&amp;nbsp;DEPTNO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NUMBER(2)&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;1. Simple &amp;amp; Easy Way&lt;/strong&gt;&lt;br /&gt;
delete from emp where rowid not in (select max(rowid) from emp group by empno,ename,job,mgr,hiredate,sal,comm,deptno);&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;2. Optimized with outer Join&lt;/strong&gt;&lt;br /&gt;
delete from emp where rowid in &lt;br /&gt;
(&lt;br /&gt;
&amp;nbsp;select rid_d from &lt;br /&gt;
&amp;nbsp;(select rowid rid_d from emp) a,&lt;br /&gt;
&amp;nbsp;(select max(rowid) rid from emp group by empno,ename,job,mgr,hiredate,sal,comm,deptno) b&lt;br /&gt;
&amp;nbsp;where rid_d = rid (+)&lt;br /&gt;
&amp;nbsp;and rid is null&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;3. Alternate way to delete duplicate with analytical function&lt;/strong&gt;&lt;br /&gt;
delete from emp&lt;br /&gt;
where rowid in &lt;br /&gt;
( &lt;br /&gt;
&amp;nbsp;select &lt;br /&gt;
&amp;nbsp;&amp;nbsp;rid&lt;br /&gt;
&amp;nbsp;from &lt;br /&gt;
&amp;nbsp;( &lt;br /&gt;
&amp;nbsp;&amp;nbsp;select &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;rowid rid,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;row_number() over (partition by empno,ename,job,mgr,hiredate,sal,comm,deptno order by rowid) rn&lt;br /&gt;
&amp;nbsp;&amp;nbsp;from emp&lt;br /&gt;
&amp;nbsp;)&lt;br /&gt;
&amp;nbsp;where rn &amp;lt;&amp;gt; 1 &lt;br /&gt;
)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-269572363835130868?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/g2hU97eUMhKlL3viObWvQ_e7Jsc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g2hU97eUMhKlL3viObWvQ_e7Jsc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/g2hU97eUMhKlL3viObWvQ_e7Jsc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g2hU97eUMhKlL3viObWvQ_e7Jsc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/RVWWWeUJbaw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/269572363835130868/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/01/oracle-delete-duplicate-rows-from-table.html#comment-form" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/269572363835130868?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/269572363835130868?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/RVWWWeUJbaw/oracle-delete-duplicate-rows-from-table.html" title="Oracle: Delete duplicate rows from table" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>6</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/01/oracle-delete-duplicate-rows-from-table.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YCQXozeyp7ImA9WhRUGUQ.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-1646169746753697021</id><published>2011-01-17T17:11:00.000+05:30</published><updated>2012-01-31T14:09:20.483+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-31T14:09:20.483+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Regular Expression" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle SQL" /><title>Oracle: Extract Initials of Names</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Lets Say we have a table "Employee" with following data&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; select employeename from employee; &lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-S2dYZtcrLNI/TVTMm00DSfI/AAAAAAAAANk/izcgqozexqU/s1600/1.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-S2dYZtcrLNI/TVTMm00DSfI/AAAAAAAAANk/izcgqozexqU/s1600/1.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Use following query to extract Initials of names.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; select employeename, upper(regexp_replace(employeename,'(^| )([^ ])([^ ])*','\2')) Initials from Employee;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-_n1fmyRx6oo/TVTMuoqnqbI/AAAAAAAAANo/yKvMjdGK1u0/s1600/2.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-_n1fmyRx6oo/TVTMuoqnqbI/AAAAAAAAANo/yKvMjdGK1u0/s1600/2.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Related Links:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Extracting text between html tags (removing html tags) &lt;br /&gt;
&lt;a href="http://nimishgarg.blogspot.com/2011/09/extracting-text-between-html-tags.html"&gt;http://nimishgarg.blogspot.com/2011/09/extracting-text-between-html-tags.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Oracle: Extract Numbers from String (Ex: Pin from Address) &lt;br /&gt;
&lt;a href="http://nimishgarg.blogspot.com/2010/04/oracle-sql-extract-numbers-from-string.html"&gt;http://nimishgarg.blogspot.com/2010/04/oracle-sql-extract-numbers-from-string.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-1646169746753697021?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GNErvRchFbV1jA8hXgLL-P9FkhQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GNErvRchFbV1jA8hXgLL-P9FkhQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GNErvRchFbV1jA8hXgLL-P9FkhQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GNErvRchFbV1jA8hXgLL-P9FkhQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/Ja4vZI2dwdI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/1646169746753697021/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/01/oracle-extract-initials-of-name.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/1646169746753697021?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/1646169746753697021?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/Ja4vZI2dwdI/oracle-extract-initials-of-name.html" title="Oracle: Extract Initials of Names" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-S2dYZtcrLNI/TVTMm00DSfI/AAAAAAAAANk/izcgqozexqU/s72-c/1.JPG" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/01/oracle-extract-initials-of-name.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQBRHw-eip7ImA9WhRTGE8.&quot;"><id>tag:blogger.com,1999:blog-8873109125023142810.post-3120861037244816499</id><published>2011-01-05T12:23:00.000+05:30</published><updated>2011-11-09T13:09:15.252+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-09T13:09:15.252+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Ora-Codes" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Tips" /><title>ORA-01723: zero-length columns are not allowed</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;b&gt;Peoblem&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; Create table mytable as&lt;br /&gt;
select&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ename,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; null age,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; null doj,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; null mgrname&lt;br /&gt;
from&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; scott.emp ;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; null age&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;
ERROR at line 4:&lt;br /&gt;
ORA-01723: zero-length columns are not allowed&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Solution&lt;/b&gt;:&lt;br /&gt;
&lt;b&gt;To avoid this error use cast:&lt;br /&gt;
&lt;/b&gt;SQL&amp;gt; Create table mytable as&lt;br /&gt;
select&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ename,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cast(null as number) age,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cast(null as date) doj,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cast(null as varchar2(10)) mgrname&lt;br /&gt;
from&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; scott.emp ;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&lt;br /&gt;
&lt;br /&gt;
Table created.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; desc mytable&lt;br /&gt;
&amp;nbsp;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Null?&amp;nbsp;&amp;nbsp;&amp;nbsp; Type&lt;br /&gt;
&amp;nbsp;----------------------------------------- -------- ----------------------------&lt;br /&gt;
&amp;nbsp;ENAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(10)&lt;br /&gt;
&amp;nbsp;AGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NUMBER&lt;br /&gt;
&amp;nbsp;DOJ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATE&lt;br /&gt;
&amp;nbsp;MGRNAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARCHAR2(10)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8873109125023142810-3120861037244816499?l=nimishgarg.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/P6GoZLsFd50lhtpDxFeBIlBbSps/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/P6GoZLsFd50lhtpDxFeBIlBbSps/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/P6GoZLsFd50lhtpDxFeBIlBbSps/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/P6GoZLsFd50lhtpDxFeBIlBbSps/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/LetsDevelopInOraclesqlAndPl/sql/~4/2v-BiqcFhAY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://nimishgarg.blogspot.com/feeds/3120861037244816499/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://nimishgarg.blogspot.com/2011/01/ora-01723-zero-length-columns-are-not.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/3120861037244816499?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8873109125023142810/posts/default/3120861037244816499?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/LetsDevelopInOraclesqlAndPl/sql/~3/2v-BiqcFhAY/ora-01723-zero-length-columns-are-not.html" title="ORA-01723: zero-length columns are not allowed" /><author><name>Nimish Garg</name><uri>http://www.blogger.com/profile/15795821721808548808</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://4.bp.blogspot.com/-wiLNcgBMmJ0/TYrAX_Q4qYI/AAAAAAAAAOs/9NwQl6kHRy8/s220/DSC00114.jpg" /></author><thr:total>5</thr:total><feedburner:origLink>http://nimishgarg.blogspot.com/2011/01/ora-01723-zero-length-columns-are-not.html</feedburner:origLink></entry></feed>

