Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Could someone give me a brief explication about these two mechanisms in oracle : stored and external procedures.

Are they distinct ? Are they differ when we integrate in some language (Java, C++ or C ...) ?

share|improve this question
up vote 2 down vote accepted

Stored Procedures and External Procedure are distinct ones.

Stored procedures are stored in database and used from there. You can write them in different languages. Also note that you can pre-compile PL/SQL instead of interpreting

  • SQL/PL-SQL , most common
  • Java
  • .NET only in windows environment.

External Procedures are external functions/procedures in Operating System. You write a stored procedure in PL/SQL, use call specification to call other languages in operating System. This potentially gives you power to call any function in other languages. Following usages come to my mind.

  • Use a Data Mining algorithm which is not implemented in Oracle Data Mining
  • Use ftp function to transfer files to another server
  • Use a graphic functions of Gnu Plot to create graphics and store them in database for later use.

These usages in my opinion are extreme and unnecessary. All of them can be accomplished with application programs. Nowadays nobody uses database as it is. There are always applications built using Java, .NET, PHP etc. Whenever possible, these other languages should be used in application.

share|improve this answer
I agree. This is an ancient mechanism to call C functions mostly. After Java was supported, I don't see anyone wanting to do this any longer. – ron tornambe Jan 28 '12 at 16:59

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.