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

<channel>
	<title>Techno Oracle &#187; Introduction to PL/SQL</title>
	<atom:link href="http://www.technooracle.com/oracle-tutorials/category/oracle-plsql/introduction-to-plsql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.technooracle.com</link>
	<description>Oracle information centre</description>
	<lastBuildDate>Tue, 17 Apr 2012 12:07:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>PL/SQL Program constructs</title>
		<link>http://www.technooracle.com/oracle-tutorials/plsql-program-constructs/</link>
		<comments>http://www.technooracle.com/oracle-tutorials/plsql-program-constructs/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 16:16:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Introduction to PL/SQL]]></category>
		<category><![CDATA[Oracle PL/SQL]]></category>
		<category><![CDATA[Anonymous Block]]></category>
		<category><![CDATA[Packages]]></category>
		<category><![CDATA[PL/SQL Program constructs]]></category>
		<category><![CDATA[Stored Procedures]]></category>
		<category><![CDATA[Triggers]]></category>

		<guid isPermaLink="false">http://www.technooracle.com/?p=276</guid>
		<description><![CDATA[Anonymous Block An anonymous block is a PL/SQL block without a name for identification.It has to be brought to the server&#8217;s memory every time it is required .Anonymous Block can&#8217;t be accessed/referred neither by oracle nor by user for execution.It has to be compiled every time we need that block of statements Stored Procedures A [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.technooracle.com/wp-content/uploads/2010/08/pl-sql-program-construct.jpg"><img class="aligncenter size-full wp-image-277" title="pl sql program construct" src="http://www.technooracle.com/wp-content/uploads/2010/08/pl-sql-program-construct.jpg" alt="" width="420" height="208" /></a><span style="color: #000080;"><br />
</span></p>
<h2><span style="color: #000080;">Anonymous Block</span></h2>
<p>An anonymous block is a PL/SQL block without a name for identification.It has to be brought to the server&#8217;s memory every time it is required .Anonymous Block can&#8217;t be accessed/referred neither by oracle nor by user for execution.It has to be compiled every time we need that block of statements</p>
<h2><span style="color: #000080;">Stored Procedures</span></h2>
<p>A procedure is a subprogram that performs a specific action . A stored  procedure is a PL/SQL block that is stored in the database with a name.  It is invoked using the name. Each procedure is meant for a specific  purpose.<br />
A stored procedure is stored in the database as an object. It is also  called as database procedure as it is stored in the database.<br />
<span id="more-276"></span><br />
Read More about <a href="http://www.technooracle.com/oracle-tutorials/stored-procedures-in-oracle/">Stored Procedures in Oracle </a></p>
<h2><span style="color: #000080;">Packages</span></h2>
<p>The packages contain stored subprograms, or standalone programs, which are<br />
called the package’s subprograms. These subprograms can be called from<br />
another stored program, triggers, precompiler programs, or any of the interactive Oracle<br />
programs, such as SQL*Plus. Unlike the stored subprograms, the package itself cannot<br />
be called or nested, and parameters cannot be passed to it.</p>
<p>Read More about <a href="http://www.technooracle.com/oracle-tutorials/stored-procedures-in-oracle/">Packages in Oracle </a></p>
<h2><span style="color: #000080;">Triggers</span></h2>
<p>A trigger is a PL/SQL block that is associated with a specific event, stored in a database,<br />
and executed whenever that event occurs. Oracle supports four fundamental types<br />
of triggers:<br />
• Data manipulation language (DML) triggers<br />
• Instead-of triggers<br />
• Data definition language (DDL) triggers<br />
• Database event triggers</p>
<p>Read More about <a href="http://www.technooracle.com/oracle-tutorials/stored-procedures-in-oracle/">Triggers in Oracle </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.technooracle.com/oracle-tutorials/plsql-program-constructs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PL/SQL Architecture</title>
		<link>http://www.technooracle.com/oracle-tutorials/plsql-architecture/</link>
		<comments>http://www.technooracle.com/oracle-tutorials/plsql-architecture/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 16:38:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Introduction to PL/SQL]]></category>
		<category><![CDATA[Oracle PL/SQL]]></category>
		<category><![CDATA[pl sql architecture]]></category>
		<category><![CDATA[pl sql basics]]></category>
		<category><![CDATA[pl sql engine]]></category>
		<category><![CDATA[PL/SQL Architecture]]></category>
		<category><![CDATA[PL/SQL Engine]]></category>

		<guid isPermaLink="false">http://www.technooracle.com/?p=272</guid>
		<description><![CDATA[The PL/SQL compilation and run-time system is an engine that compiles and executes PL/SQL blocks and subprograms. The engine can be installed in an Oracle server or in an application development tool such as Oracle Forms. In either environment, the PL/SQL engine accepts as input any valid PL/SQL block or subprogram. Figure shows the PL/SQL [...]]]></description>
			<content:encoded><![CDATA[<p>The PL/SQL compilation and run-time system is an engine that compiles and executes PL/SQL blocks and subprograms. The engine can be installed in an Oracle server or in an application development tool such as Oracle Forms.</p>
<p>In either environment, the PL/SQL engine accepts as input any valid PL/SQL block or subprogram. <a>Figure </a>shows the PL/SQL engine processing an anonymous block. The PL/SQL engine executes procedural statements but sends SQL statements to the SQL engine in the Oracle database.</p>
<p><img src="http://www.technooracle.com/wp-content/uploads/2010/06/plsqlengine.gif" alt="PL/SQL Engine" /><br />
<span id="more-272"></span></p>
<h2><span style="color: #000080;">PL/SQL Engine</span></h2>
<p>It is a separator,which splits the SQL and PL/SQL statements.PL/SQL block comprises of SQL &amp;PL commands are submitted as one request.PL/SQL engine split the block and sends appropriated commands to the corresponding units.SQL evaluator will handle SQL statements(available on the server side).PL Evaulator to handle PL commands.Engine can reside either in client side or in the server side.</p>
<h2><span style="color: #000080;">Where PL/SQL stands?</span><strong> </strong></h2>
<h2><strong><a href="http://www.technooracle.com/wp-content/uploads/2010/08/PLSQLstands1.jpg"><img class="aligncenter size-full wp-image-274" title="PLSQLstands" src="http://www.technooracle.com/wp-content/uploads/2010/08/PLSQLstands1.jpg" alt="" width="499" height="246" /></a><br />
</strong></h2>
<p><strong><a href="http://www.technooracle.com/wp-content/uploads/2010/08/PLSQLstands.jpg"><br />
</a></strong></p>
<p>The client can interact with the system through front end application program.When there is a data oriented operation it invokes the PL/SQL program in single step.In PL/SQL end it approaches PL/SQL Engine which splits PL and SQL part separately and send the SQL request to the SQL.</p>
<p>Now SQL sends the data request through query to database.Data if available will be send back to SQL in turn to PL/SQL.Now PL/SQL will send the return values back to the client application</p>
]]></content:encoded>
			<wfw:commentRss>http://www.technooracle.com/oracle-tutorials/plsql-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to PL/SQL</title>
		<link>http://www.technooracle.com/oracle-tutorials/introduction-to-plsql/</link>
		<comments>http://www.technooracle.com/oracle-tutorials/introduction-to-plsql/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 17:57:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Introduction to PL/SQL]]></category>
		<category><![CDATA[Oracle PL/SQL]]></category>
		<category><![CDATA[Declaration Section]]></category>
		<category><![CDATA[example of PL/SQL program]]></category>
		<category><![CDATA[Exception Section]]></category>
		<category><![CDATA[Execution Section]]></category>
		<category><![CDATA[Nesting Of Blocks]]></category>
		<category><![CDATA[PL/SQL Block Structure]]></category>
		<category><![CDATA[What Is PL/SQL]]></category>

		<guid isPermaLink="false">http://www.technooracle.com/?p=46</guid>
		<description><![CDATA[This chapter introduces PL/SQL Basics,PL SQL Block structure,PL SQL Architecture,Advantage of PL/SQL etc. What Is PL/SQL? PL/SQL stands for Procedural Language extensions to traditional SQL. PL/SQL is available as an enabling technology within other software products. PL/SQL does not exist as a standalone language. We can use PL/SQL in the Oracle database, in the Oracle [...]]]></description>
			<content:encoded><![CDATA[<p>This chapter introduces PL/SQL Basics,PL SQL Block structure,PL SQL Architecture,Advantage of PL/SQL etc.</p>
<h2><span style="color: #000080;">What Is PL/SQL?</span></h2>
<p>PL/SQL stands for Procedural Language extensions to  traditional SQL. PL/SQL is available  as an enabling technology  within other software products. PL/SQL does not exist as a standalone language. We can use PL/SQL in the Oracle database, in the Oracle Server, and in client side application development tools such as Oracle Forms. PL/SQL is closely integrated into the SQL language.PL/SQL adds programming constructs that are not native to SQL. PL/SQL allows us to combine SQL statements with standard procedural constructs.<br />
<span id="more-46"></span></p>
<h2><span style="color: #000080;">PL/SQL Block Structure</span></h2>
<p>PL/SQL is a <em>block-structured</em> language. That is, the basic units  that make up a PL/SQL program are logical blocks, which can contain any number of nested sub-blocks. Typically, each logical block corresponds to a problem or subproblem to be solved.</p>
<p>A block (or sub-block) lets you group logically related declarations and statements. That way, you can place declarations close to where they are used. The declarations are local to the block and cease to exist when the block completes.</p>
<p>a PL/SQL block has three parts: a declarative part, an executable part, and an exception-handling part. (In PL/SQL, a warning or error condition is called an <em>exception</em>.) Only the executable part is required.</p>
<h2><span style="color: #000080;"><strong>The Declaration Section</strong></span></h2>
<p>The DECLARATION section is optional. It is used to list the variables used in the<br />
block along with the types of data they support. Cursors<br />
are also declared in this section. This is the place where all local variables used<br />
in the program are defined and documented.</p>
<h2><span style="color: #000080;"><strong>The Execution Section</strong></span></h2>
<p>This section is the only one required. The contents must be complete to allow the<br />
block to compile. By complete, we mean that a complete set of instructions for the<br />
PL/SQL engine must be between the BEGIN and END keywords. As you saw earlier<br />
with an execution section of NULL, compiled code does not mean it must actually<br />
perform an action.<br />
The execution section supports all DML commands and SQL*Plus built-in functions.<br />
It supports DDL commands using Native Dynamic SQL (NDS) and/or the DBMS_SQL<br />
built-in package.</p>
<p><span style="color: #000080;"><strong>The Exception Section</strong></span></p>
<p>The EXCEPTION section is optional and traps errors generated during program<br />
execution. This section starts with the reserved keyword &#8220;EXCEPTION&#8221; and can trap for specific errors using functions provided in the<br />
STANDARD or DBMS_STANDARD packages or using EXCEPTION_INIT pragma<br />
statements .</p>
<p>The PL/SQL Block structure is given below</p>
<pre>DECLARE
--Declarations</pre>
<pre>BEGIN</pre>
<pre>--Statements</pre>
<pre>EXCEPTION</pre>
<pre>--Exception Handlers</pre>
<pre>END</pre>
<p>An <span style="color: #000080;"><strong>example of PL/SQL program</strong></span> is given below</p>
<pre>DECLARE</pre>
<pre style="padding-left: 30px;">emp_nam varchar2(30);</pre>
<pre>BEGIN</pre>
<pre style="padding-left: 30px;">SELECT employee_name into emp_nam</pre>
<pre style="padding-left: 60px;">FROM EMPLOYEES</pre>
<pre style="padding-left: 60px;">WHERE emp_sal &gt;100000;</pre>
<pre>EXCEPTION</pre>
<pre>---optional</pre>
<pre style="padding-left: 30px;">WHEN NO_DATA_FOUND THEN</pre>
<pre style="padding-left: 30px;">null;</pre>
<pre>END;
</pre>
<h2><span style="color: #000080;">Nesting Of Blocks</span></h2>
<p><span style="color: #000080;"><span style="color: #000000;">Nesting of Blocks means blocks within the other blocks.sub blocks are allowed to enhance the modularity.inner blocks follow the similar syntax.The variables declared in the inner block is valid till the end of that block.There is no limitation on the number of nested blocks.</span></span></p>
<p><span style="color: #000080;"><span style="color: #000000;">Local subprograms can be defined in the declarative part of any block.But such local subprograms can be called only from the block in which they are defined.They are local to that block which they are declared<br />
</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.technooracle.com/oracle-tutorials/introduction-to-plsql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

