Pl/sql engine, PL-SQL Programming

Assignment Help:

Architecture

The PL/SQL run-time system and compilation is a technology, not an independent product. Consider this technology as an engine that compiles and executes the PL/SQL blocks and the subprograms. The engine can be installed in an Oracle server or in an application development tool like Oracle Forms or Oracle Reports. Therefore, PL/SQL can reside in two environments:

(i) The Oracle server

(ii)Oracle tools

These 2 environments are independent. The PL/SQL is bundled with the Oracle server but might be unavailable in several tools. In either environment, the PL/SQL engine accepts as input any valid PL/SQL block or subprogram. The Figure shows the PL/SQL engine processing an unidentified block. The engine executes procedural statements but sends SQL statements to the SQL Statement Executor in the Oracle server.

2408_engine.png

Figure: PL/SQL Engine

(i)In the Oracle Server

The Application development tools which lack a local PL/SQL engine should rely on Oracle to process the PL/SQL blocks and subprograms. Whenever it contains the PL/SQL engine, an Oracle server can process the PL/SQL blocks and subprograms as well as single the SQL statements. The Oracle server passes the blocks and subprograms to its local PL/SQL engine.

Anonymous Blocks

The Anonymous PL/SQL blocks can be embedded in an Oracle Pre-compiler or the OCI program. At run time, the program, lacking a local PL/SQL engine, send these blocks to the Oracle server, where they are compiled and executed. Similarly, interactive tools like SQL Plus and Enterprise Manager, lacking a local PL/SQL engine, should send an anonymous block to the Oracle.

Stored Subprograms

The Subprograms can be compiled individually and stored permanently in an Oracle database, and is ready to be executed. A subprogram explicitly CREATED using an Oracle tool is known as stored subprogram. Once it is compiled and stored in the data dictionary, it is a schema object that can be referenced by any number of applications connected to that database.

The Stored subprograms defined within a package are known as packaged subprograms. Those defined independently are known as stand-alone subprograms. Those Stored subprograms defined within another subprogram or within a PL/SQL block are known as local subprograms, that cannot be referenced by other applications and exist only for the convenience of the enclosing block.

The Stored subprograms offer higher productivity, memory savings, better performance, application integrity, & tighter security. For e.g., by designing the applications around a library of stored procedures and functions, you can avoid the redundant coding and increase your productivity.

You can call stored subprograms from a database trigger, another stored subprogram, an OCI application, an Oracle Precompiler application, or interactively from SQL Plus or Enterprise Manager. For e.g., you might call the stand-alone procedure create_dept from SQL Plus as shown:

SQL> CALL create_dept('FINANCE', 'NEW YORK');

Database Triggers

A database trigger is a stored subprogram related with a table. You can have Oracle that automatically fire the database trigger before or after an INSERT, DELETE, or UPDATE statement that affects the table. One of the various uses of database triggers is to audit the data modifications. For e.g., the following database trigger fires whenever the salaries in the emp table are updated:

CREATE TRIGGER audit_sal

AFTER UPDATE OF sal ON emp

FOR EACH ROW   

BEGIN

INSERT INTO emp_audit VALUES ...

END;

You can use all SQL data manipulation statements and any procedural statement in the executable part of a database trigger.

(ii)In Oracle Tools

Whenever it contains the PL/SQL engine, an application development tool can process the PL/SQL blocks and subprograms. The tool that passes the blocks to its local PL/SQL engine. The engine executes all the procedural statements at the application site and sends only SQL statements to Oracle. And hence, most of the work is completed at the application site, not at the server site.

Moreover, if the block contains no SQL statements, the engine executes the whole block at the application site. This is very useful if your application can benefit from conditional and iterative control.

Often, the Oracle Forms applications use SQL statements merely to test the value of the field entries or to do simple calculations. By using the PL/SQL instead, you can avoid calls to the Oracle server. Furthermore, you can use PL/SQL functions to manipulate the field entries.


Related Discussions:- Pl/sql engine

Aggregate operators sql, Aggregate Operators SQL Supports all of the a...

Aggregate Operators SQL Supports all of the aggregate operators mentioned in the theory book and many more besides. The syntax, however, involves an unusual trick that SQL cal

Appgen to sap data export, We are seeking a freelance consultant that is fa...

We are seeking a freelance consultant that is familiar with Appgen applications. We require exporting all our data into a format appropriate for importing into SAP Business One. Pl

Cursor variables, What Are Cursor Variables  ? The Cursor variables ar...

What Are Cursor Variables  ? The Cursor variables are like C or Pascal pointers that hold the memory location (address) of some item rather of the item itself. Therefore, decl

I want online credit application website, Project Description: We organi...

Project Description: We organize an online system called ACPAS we have created a project called EVO that can be use by our customers to integrate their web sites with the Acpas

Using cursor attributes - bulk bind performance improvement, Using Cursor A...

Using Cursor Attributes To process the SQL data manipulation statements, the SQL engine must opens an implicit cursor named SQL. This cursor's attributes (%FOUND, %NOTFOUND, %

Example of null operator - nino rule, Example of Null operator - NiNo Rule ...

Example of Null operator - NiNo Rule If we wanted to make HIGHER_OF adhere to "NULL in, NULL out"-let's call it the NiNo rule-we would have to write something like what is sho

Calculating a Shopper''s Total Spending, Many of the reports generated from...

Many of the reports generated from the system calculate the total dollars in a shopper''s purchases. Follow these steps to create a function named TOT_PURCH_SF that accepts a shopp

Defining ref cursor types, Defining REF CURSOR Types To make cursor va...

Defining REF CURSOR Types To make cursor variables, you take 2 steps. At first, you define a REF CURSOR type, and then declare the cursor variables of that type. You can defin

Return statement, RETURN Statement The RETURN statement instantly compl...

RETURN Statement The RETURN statement instantly completes the execution of a subprogram and returns control to the caller. The Execution then resumes with the statement below t

Sql database, SQL Database: So, an SQL database is one whose symbols a...

SQL Database: So, an SQL database is one whose symbols are organized into a collection of tables. Now, shows an SQL table as the current value of an SQL variable, ENROLMENT, b

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd